UCGUI 技术文集 UCGUI 专业网站:www.ucgui.com
区别不同的控件,通过消息中的通知码来区别控件被操作的各种状态,
具体这个消息的详细说明请参见后面的分析。
%%%要删除窗体时发送的消息,主要清除窗体数据结构所
占用内存,此消息主要由 '0')'*+,-"#函数发送了,如点击
按钮关闭对话框时,最终会调用此函数来删除窗体,不过
中没有最大化最小化关闭等系统功能按钮。最基础窗体结构注解如下,
在该结构中有两个很重要的成员,/'5)* 是记载窗体的下一个窗体,
这个成员用于遍历所有已经创建的窗体;/'5) 是记载窗体下一个兄
弟窗体,这个成员用于遍历每个窗体对应的子窗体;这个结构是最基础,
一般的控件在这个结构之上还会有一些扩展的结构 如按钮对应有
346 结构。
)78'+'9.)&)3:.)&)46;
.)&)3:.)&)<
$$');=窗体矩形区域9=
$*(0+$');=窗体无效矩形区域9=
3=4;=窗体消息回调函数9=
/'5)*;=窗体下一个窗体句柄=
/(&'*); =父窗体句柄=
/1&.)/0+; =第一子窗体句柄=
/'5); =下一个兄弟窗体句柄9=
>!)().; =窗体当前状态9=
?;
(*+0')'"#@基础控件共通消息处理,在大部分的
控件中都会在消息回调函数的头部进行这个调用,如果处理了消
息后,就直接退出消息回调函数的调用。这个函数中处理如下消息:
返窗体控件标志
!1!设置当前窗体为焦点窗体,设置完后还必须
向 该 窗 体 的 父 窗 体 发 送 一 个
1 !1! 消息让其父窗体更新它记
载的当前焦点子窗体
!1!获取当前窗体是否为焦点窗体
!3设置窗体为不可用窗体
1!获取当前窗体是否可设置为焦点
窗体
! $返回窗体内框矩形,如按钮有 A 效
果时会有效果边框宽度,内框矩形就是窗体矩形被边框剪裁后
的矩形
'9(0)&,"#%%%%窗体默认消息处理函数, 中提供一些基
础的控件,这些控件有些共通的消息均在此处理,如下:
$获取窗体矩形区域,相对于矩形自身
$获取窗体矩形左上角坐标
UCGUI 专业论坛