一个支持皮肤化的对话框类

怪你过分执着丶

怪你过分执着丶

2016-02-19 17:41

今天图老师小编给大家展示的是一个支持皮肤化的对话框类,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

  一、介绍

  该类从MFC的CDialog继承而来,支持如下特征:

  1、运行于win2000或者winxp平台上,可以使用任何透明色以透视对话框的区域。

  2、运行于win2000或者winxp平台上,可以使得整个对话框透明。

  3、使用位图背景。位图可以来自资源文件、bmp或者HBITMAP

  4、设置背景类型:标题、中心、伸缩;设置对话框的大小适合位图的大小

  5、可以点击对话框的任何部分允许/禁止移动对话框

  二、用法

  使用该类的方法如下:

  1、往工程中加入文件CDialogSK.h和CDialog.cpp

  2、在你的对话框类中包含CDialogSD.h

  3、在你的对话框类中用CDialogSK代替所有的CDialog

  4、如果要使用背景图片,找到对话框属性的类型选项,使得Style=Popup,

  Border=None,并使Title Bar为未选择状态。

  5、在你的对话框类的OnInitDialog的结尾处,加入CDialogSK属性方法的调用:

  

BOOL CSkinDialog_DemoDlg::OnInitDialog()
{
  ...
  EnableEasyMove();            // 允许移动
  SetBitmap (IDB_BACKGROUND);       //设置背景位图
  SetStyle (LO_RESIZE);          // 使对话框大小适合位图大小
  SetTransparentColor(RGB(0, 255, 0));  //设置透明色为绿色
return TRUE;
}

  6、例如,假如你想生成一个圆形的对话框,可以创建一个图片,背景为绿,画一个蓝色的圆。然后,调用SetBitmap,参数为图像的路径,调用SetTransparentColor,参数为背景的颜色(绿色)。这样就看不到背景,得到一给圆形的窗口。

  三、方法

  CDialogSK类提供如下的方法:

  1、DWORD SetBitmap (HBITMAP hBitmap);

  2、DWORD SetBitmap (int nBitmap);

  3、DWORD SetBitmap (LPCTSTR lpszFileName);

  4、void SetStyle (LayOutStyle style);

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  LO_DEFAULT, LO_TILE (标题图片), LO_CENTER (中心图片), LO_STRETCH (伸缩

  图片以适合对话框大小), or LO_RESIZE (伸缩对话框适合图片).

  5、void EnableEasyMove (BOOL pEnable = TRUE);

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  6、BOOL SetTransparent (BYTE bAlpha);

  使整个对话框透明,范围为0(透明)-255(不透明)。只适合win2000及以上版

  本

  7、BOOL SetTransparentColor (COLORREF col, BOOL bTrans = TRUE);

  指定透明色。只适合win2000及以上版本。

  CDialogSK类文件下载地址http://www.codeguru.com/code/legacy/dialog/CDialogSK_src.zip

展开更多 50%)
分享

猜你喜欢

一个支持皮肤化的对话框类

编程语言 网络编程
一个支持皮肤化的对话框类

一个定制CFileDialog对话框的实例

C语言教程 C语言函数
一个定制CFileDialog对话框的实例

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

一个简单的登录对话框的实现

C语言教程 C语言函数
一个简单的登录对话框的实现

VC实现一个对话框里的动圆

编程语言 网络编程
VC实现一个对话框里的动圆

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

关于 CFileDialog 对话框多选功能的一个问题

C语言教程 C语言函数
关于 CFileDialog 对话框多选功能的一个问题

关于对话框

编程语言 网络编程
关于对话框

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

我是一个笨蛋 一个很笨的笨蛋 - QQ图案分组

我是一个笨蛋 一个很笨的笨蛋 - QQ图案分组

详细解析C语言中的sizeof

详细解析C语言中的sizeof
下拉加载更多内容 ↓