WTL 学习笔记 -- Property Sheets and Wizards
属性页和向导也是很常用的组件,两者表现形式大不相同,但功能差不多,无非前者所有界面同时出现,而后者要按规定的次序出现罢。MFC中提供属性页组件,实在太难用,现在还记忆犹新。
WTL中的属性页是否有所改进呢?答案是当然的,对于简单情况,几行代码就搞定了,对于复杂情况,使用也很直观,总之你无需要花太多精力在这种手段身上。
让我们先看看最很简单的情况:
CPropertySheet sheet;
CPropertyPage<IDD_ABOUTBOX> page;
sheet.AddPage(page);
sheet.DoModal();
|
怎么样,4行代码就搞定了,很简单吧。当然,实际情况决不会这么简单,因为这些对话是用来”对话”的,而不只是用来显示信息。这时就需要实现Page的子类:
1. 从CpropertyPageImpl继承。
class CColorPage : public CPropertyPageImpl<CColorPage>
|
2. 指定属性页的图标。
CColorPage()
{
m_psp.dwFlags |= PSP_USEICONID;
m_psp.pszIcon = MAKEINTRESOURCE(IDR_MAINFRAME);
m_psp.hInstance = _Module.GetResourceInstance();
}
|
3. 指定对话框资源ID
4. 让CpropertyPageImpl能接收消息
CHAIN_MSG_MAP(CPropertyPageImpl<CColorPage>)
|
5. 让数据修改后,让Apply按钮有效
LRESULT OnColorChange(WORD wNotifyCode, WORD wID, HWND hWnd, BOOL& bHandled)
{
this->SetModified(TRUE);
return 0;
}
|
6. 处理Apply消息
int OnApply()
{
MessageBox("ApplyPage");
return 0;
}
|
分享到:
相关推荐
WTL之父写就的WTL技术白皮书,详细讲述了WTL的来龙去脉,是很好的深入WTL的参考资料。
WTL for MFC Programmers, Part II - WTL GUI Base Classes
WTL developer Guide, WTL开发指南
用vs2010实现的项目, 只配置了Debug模式,虽然使用的是WTL来实现界面,但是消息映射是一样的,很容易移植到MFC. 详细内容查看 https://infoworld.blog.csdn.net/article/details/91960284
WTL起步-玩转图形界面 学习ATL使用的书籍。
使用c/c++实现javap的功能,加深对java中class结构的理解
如何获取ListView点击的单元格域的项目源码,需要vs2010以上编译。博客文章所在https://blog.csdn.net/infoworld/article/details/131106482
WTL起步-玩转图形界面WTL起步-玩转图形界面WTL起步-玩转图形界面
感谢网络前辈的无私分享,再整理...6、深入剖析WTL-如何封装Windows界面程序.doc 7、白乔原创:VC之美化界面篇 8、ComboBox的WTL移植.doc 9、窗口的子类化.docx 10、深入剖析MFC中对于Windows消息处理、运行机制.doc
WTL for MFC Programmers, Part VIII - Property Sheets and Wizard 由于工作的需要经常开发一些COM组件,在要求不能使用MFC的场合就是用ATL。ATL提供了对窗口的面向对象地封装和简单的消息映射机制,但是ATL过于...
注意,是英文版!排版比较好,附演示代码 ...Part VIII - Property Sheets and Wizards Part IX - GDI Classes, Common Dialogs, and Utility Classes Part X - Implementing a Drag and Drop Source
运行WTL80.exe,程序自动将WTL所有的配置文件,生成到默认的目录下。 点击unzip.就可以直接生成文件。目录可以自己修改。
In Part II, I’ll give you a look into WTL’s common controls wrappers, common dialog wrappers, property sheets, printing, print preview, scrolling support, message cracking, filtering, and idle ...
WTL起步-玩转图形界面,WTL Makes UI Programming a Joy 的中文版。pdf格式,带书签目录的,绝对是最好用的版本。
wtl button类-wtl button class 基于WTL的三态按钮,易用性好,
最近使用WTL,使用的IDE是VS2005。觉得默认的WTL实在是不方便。在字体和图片上都不令人满意。尤其是字体,它使用的是“MS Sans Serif”字体,这种字体在中文的操作系统上显得很难看(当然这是我的个人见解)。所以...