棋牌休闲大厅客户端因采用MFC而不是用DX来做UI。因为MFC中对于自绘控件弄得比较麻烦,在研究了一段图片按钮和一些自绘控件后,我打算用CStatic做基类进行派生写一些自已用的界面控件。因为以前自已写过DX下的UI系统。所以思路还是清楚的。毕竟这些类比DX那一套还是要简单许多。
我用CStatic开发的分状态(鼠标移过,按下,抬起)的CButton和CTabCtrl.
选项按钮横向排列
点击第一个选项按钮后显示第一个自绘窗体(蓝色CStatic)
点击第二个选项按钮后显示第二个自绘窗体(红色CStatic)
选项按钮纵向排列
1。CEXUserCtrl: public CStatic
此类中有一个成员对象CBitmap m_BKBmp;
我们为其增加相应的函数设置导入的图片。并提供参数切分的数量。代表状态数量。
比如此图. 201*24.其实就是每个状态要截取图中矩形大小67*24;
在MouseMove,LButtonDown,LButtonUp等消息中处理状态值。
在WM_PAINT中跟据状态值不同将BMP的DC上的相应矩形Blt到窗体DC上即可。
其实仔细想想,普通按钮。RadioButton,CheckButton都可以做到。
2。TabCtrl:
由CStatic派生一个CMyTabCtrl
首先建立一个子项结构,来将选项按钮与对应显示页联系起来:
struct SMyTabItem
{
intmIndex;//索引
intmLeft;//左
intmTop;//上
intmWidth;//宽
intmHeight;//高
CWnd*pChildWnd;//要显示的子页
CEXUserCtrl*pItemLabel;//子项Label
}
;
在类中加入
//Tab的Item信息
vector<SMyTabItem>m_TabItemInfo;
//排列类型,横向排还是竖向排
intm_TabType;
//当前选择项
int m_Selected;
//初始化
void SetupTab(int vType);
//加入一个选项
void AddANewItem(char *szBmpFile,COLORREF vColorKey,DWORD vItemID,CWnd* vpShowWin,CWnd* vParentWnd);
大体思路就是通过对子项数据的管理来ShowWindow或HideWindow.
分享到:
相关推荐
VS2008开发环境,MFC控件,继承CStatic类,利用GDI自绘实现音量柱频谱显示控件。
自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源。 CStatic文字滚动 如题,此实例非常适合学习,重载并自绘了Wnd类,效果是上下文字、图片、文字由大...
第2章 利用集成开发环境生成程序 2.1 生成项目(project) 2.2 添加和编辑源文件 2.3 建立程序 2.4 运行程序 2.5 调试程序 2,6VisualC+4.生成的项目文件 2.7 编写控制台应用程序 小结 第3章 Windows程序运行原理 3.1 ...
自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源。 CStatic文字滚动 如题,此实例非常适合学习,重载并自绘了Wnd类,效果是上下文字、图片、文字由大...
自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源。 CStatic文字滚动 如题,此实例非常适合学习,重载并自绘了Wnd类,效果是上下文字、图片、文字由大...
自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源。 CStatic文字滚动 如题,此实例非常适合学习,重载并自绘了Wnd类,效果是上下文字、图片、文字由大...
自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源。 CStatic文字滚动 如题,此实例非常适合学习,重载并自绘了Wnd类,效果是上下文字、图片、文字由大...
自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源。 CStatic文字滚动 如题,此实例非常适合学习,重载并自绘了Wnd类,效果是上下文字、图片、文字由大...
DirectShow在Visual Studio 2005开发环境下的使用说明: 1.将CameraDS.h CameraDS.cpp复制到你的项目中; 2.将DirectShow复制到你的opencv根目录下,菜单 工具->选项->项目和解决方案->vc++目录,把..(你的opencv...
更重要的是理解并能运用C++的各种特性,这些在以后的开发中都会有很大的帮助,特别是利用MFC进行开发的朋友对C++一定要能熟练运用。 2、理解Windows的消息机制,窗口句柄和其他GUI句柄的含义和用途。了解和MFC各个...