WinX非官方手册(一)

本文作者分享了自己重新接触WinX GUI编程的经历,通过学习绅士亦花心的实践,了解了窗体背景设置、命令消息处理和界面更新消息等基础知识。尽管WinX缺乏完整文档,但作者通过查找资料和实践,逐步掌握了WinX的一些核心概念。
摘要由CSDN通过智能技术生成

WinX的一些整理

       很久没有写WinX的东西了,开学了,很忙,呵呵,又要准备考研,没有时间来研究了,而且也没有做什么GUI,基本写的都是CUI的东西,所以到WinX就放下了。昨天写了一个最小二乘法的直线拟使程序,想做成GUI的,以后做实验的时候用,于是又想起了WinX。郁闷的是,以前的GUI基础就不好,MFC不会,SDK就会一点点,这WinX用起来也是一样差。没办法,学呗。到绅士亦花心那里,看完了他的实践,然后有一点心得了,照着源代码写了点东西。贴上来分享。

       WinX怎么没有个完整的Doc啊,那个DocX我这里也不能用,真是郁闷!呵呵,没办法,都是一点查出来的,还好有Find in files,呵呵。

一、窗体背景部分

宏名

描述

WINX_BKGND_NULL()

设定背景色为透明

WINX_BKGND_BRUSH(brush)

将窗口的背景色设置为参数表示的颜色

WINX_BKGND_COLOR(color)

设定背景颜色,类似于WINX_BKGND_BRUSH,但参数不同

WINX_BKGND_PATTERN(nBitmapId)

设定背景为参数所指定的位图

WINX_CTLBKGND_NULL(mask)

将参数所指定类型窗口的背景色 设置为透明

WINX_CTLBKGND_BRUSH(mask, brush)   

定控件的ID为指定的背景颜色

WINX_CTLBKGND_COLOR(mask, color)

设定控件背景色,类似于WINX_CTLBKGND_BRUSH,但参数不同

WINX_CTLBKGND_PATTERN(mask,nBitmapId)

设定窗口背景为参数所指定的位图

WINX_CTLBKGND_NULL_ALL()

设定所有控件背景色为透明


其中,nBitmapId可取资源中的任意BitmapID


附表1 brush取值                                 (拷贝自绅士亦花心)

StockBrush

color

WHITE_BRUSH

白色

LTGRAY_BRUSH

轻灰色

GRAY_BRUSH

灰色

DKGRAY_BRUSH

重灰色

BLACK_BRUSH

黑色

NULL_BRUSH
HOLLOW_BRUSH       

透明


附表2 mask取值                    (拷贝自绅士亦花心)

类名

描述

CtlMsgBox

消息框

CtlEdit

编辑框

CtlListBox

列表框

CtlButton

按钮

CtlDialog    

对话框

CtlScrollBar

滚动条

CtlStatic

文本框


附表3 color取值                                                                     (拷贝自绅士亦花心)

窗口颜色

描述

COLOR_SCROLLBAR

滚动条

COLOR_BACKGROUND      

背景

COLOR_ACTIVECAPTION    

激活的标题栏

COLOR_INACTIVECAPTION  

非激活的标题栏

COLOR_MENU            

菜单

COLOR_WINDOW           

窗体

COLOR_WINDOWFRAME     

窗体框架

COLOR_MENUTEXT        

菜单文本

COLOR_WINDOWTEXT       

窗体文本

COLOR_CAPTIONTEXT    

标题栏文本

COLOR_ACTIVEBORDER     

激活的border

COLOR_INACTIVEBORDER 

非激活的border

COLOR_APPWORKSPACE     

 

COLOR_HIGHLIGHT       

高亮

COLOR_HIGHLIGHTTEXT    

高亮文本

COLOR_BTNFACE         

Button表面

COLOR_BTNSHADOW       

Button 阴影

COLOR_GRAYTEXT        

灰文本

COLOR_BTNTEXT       

Button 文本

COLOR_INACTIVECAPTIONTEXT

非激活标题栏文本

COLOR_BTNHIGHLIGHT    

Button 高亮文本

 

二、命令消息处理

宏名

描述

WINX_CMDS_BEGIN()
WINX_CMDS_BEGIN_EX()      

消息分派开始,两个是等价的

WINX_CMDS_END()

消息分派结束

WINX_CMDS_END_EX()

消息分派结束,但消息自身没有被处理,会发给活动的子视图处理

WINX_CMD(nID, Function)

nIDFunction OnCommand消息上绑定,Function接受一个hWnd参数

WINX_CMD_NOARG(nID, Function)

同上,只是Function不传入hWnd

WINX_CMD_EX(nID, nCode, Function)

nID及其通知码nCode 绑定到Function

WINX_CMD_NOTIFY(nID)

nID 的消息转发给父窗口

WINX_CMD_RANGE(nIDFirst, nIDLast, Function)

控件组与Function绑定

注:nID为控件的资源IDFunction为消息响应函数

 

三、界面更新消息

宏名

描述

WINX_UPDATEUI_BEGIN()

介面更新开始

WINX_UPDATEUI_END()

介面更新开始

WINX_UPDATEUI(nID, wType)

nID指定更新类型为wType

 

附表1 wType 取值                                            (拷贝自绅士亦花心)

界面元素类型

描述

UPDUI_MENUPOPUP,

菜单

UPDUI_MENUBAR

菜单条

UPDUI_CHILDWINDOW

子窗口

UPDUI_TOOLBAR

工具条

UPDUI_STATUSBAR

状态条

 

一些命令状态及其设置/清楚状态的函数名:       (拷贝自绅士亦花心)

状态

描述

设置/清楚函数

UPDUI_ENABLED

激活

BOOL UIEnable(int nID, BOOL bEnable,
BOOL bForceUpdate = FALSE)

UPDUI_DISABLED      

反激活

UPDUI_CHECKED

复选框

BOOL UISetCheck(int nID, bool bCheck, BOOL bForceUpdate = FALSE)

BOOL UISetCheck(int nID, int nCheck, BOOL bForceUpdate = FALSE)(三态)

UPDUI_CHECKED2      

有三种状态

UPDUI_RADIO

单选框

BOOL UISetRadio(int nID, BOOL bRadio, BOOL bForceUpdate = FALSE)

UPDUI_TEXT

文本

BOOL UISetText(int nID, LPCTSTR lpstrText, BOOL bForceUpdate = FALSE);

UPDUI_DEFAULT

默认按钮(对话框)

BOOL UISetDefault(int nID, BOOL bDefault, BOOL bForceUpdate = FALSE);

注:介面更新要求你的对话框派生自WinX::UpdateUI< >

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值