002 - WINX概览:属性(Property)
*) 属性
• 基于属性的编程,容易向可视化发展。
• Delphi中优良的用户体验
• 区别于Delphi:如果某个特性没有使用,不会带来额外的代价。
*) 属性的命名规则
• 规则
–WINX[_适用范围]_属性[_属性子类]
• WINX_BKGND_PATTERN
–其中,BKGND为属性,PATTERN为属性子类。
• WINX_APP_ICON
–其中,APP为适用范围,ICON为属性。
• WINX_SYSICON
–有时,为了减少宏名长度,在属性子类可以表意的情况下,可以省略属性。如:WINX_SYSICON,完整名应该称为WINX_ICON_SYSICON。
• 适用范围
–WINX_XXX
• 该属性所有窗口均适用
–WINX_DLG_XXX
• 该属性只在对话框类中使用。
–WINX_APP_XXX
• 该属性属于Application属性,应该在WinMain函数中使用。这类属性比较特殊,属于全局设置,作用于所有窗口。
–......
*) WINX支持的属性列表
• 快捷键(Accel)
• 窗口图标(Icon)
• 窗口背景(Bkgnd)
• 窗口子控件统一背景(CtlBkgnd)
• 窗口Resize最小大小(MinInfo)
• 窗口布局(Layout)
• 窗口锚点(Anchor - todo)
• 应用程序图标(AppIcon)
*) WINX_ACCEL
• WINX_ACCEL
–指定一个窗口的快捷键表
• WINX_DLG_ACCEL
– 对话框及其子控件支持快捷键,默认不支持。
• TestTranslateAccel
– 快捷键派发机制的修正。因为父窗口可能截获子窗口的快捷键。故此提供一个修正机会。
*) WINX_ICON
• 设置窗口的图标
–WINX_ICON
–WINX_ICONSM
–WINX_SYSICON
–WINX_SYSICONSM
*) WINX_BKGND
• 设置窗口背景
–WINX_BKGND_COLOR
例:WINX_BKGND_COLOR(COLOR_WINDOW);
–WINX_BKGND_BRUSH
例: WINX_BKGND_BRUSH(GRAY_BRUSH);
–WINX_BKGND_PATTERN
例:WINX_BKGND_PATTERN(IDB_BKGND);
功能:以资源文件中的一幅位图作为窗口背景
–WINX_BKGND_NULL
功能:透明背景。
*) WINX_CTLBKGND
• 类似于WINX_BKGND,但是是统一设置某类型的子控件背景。
–WINX_CTLBKGND_COLOR
–WINX_CTLBKGND_BRUSH
–WINX_CTLBKGND_PATTERN
–WINX_CTLBKGND_NULL
–WINX_CTLBKGND_NULL_ALL
*) WINX_MININFO
• 设置窗口的最小SIZE
–WINX_MININFO
–WINX_MININFO_PT
–WINX_MININFO_DEFAULT
*) 设置窗口布局
• 提供以下方案:
–WINX_DLGRESIZE_BEGIN
–WINX_DLGRESIZE
–WINX_DLGRESIZE_END
• 这是利用WTL 提供的DLGRESIZE_MAP 实现,使用上略有简化。
*) WINX_APP_ICON
• 设置应用程序图标。
• 这将使得所有有标题的弹出窗口自动设置了该图标(除非该窗口使用WINX_ICON自己设置了图标)。
• 包括MessageBox。
没有评论:
发表评论