星期六, 九月 02, 2006

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。

没有评论: