WEB开发网
开发学院软件开发VC MFC程序员的WTL指南(9)属性页与向导 阅读

MFC程序员的WTL指南(9)属性页与向导

 2006-07-22 22:03:05 来源:WEB开发网   
核心提示: 在WTL 7中,OnNotify() 没有改变 PSN_* 消息的返回值,MFC程序员的WTL指南(9)属性页与向导(5),处理函数返回任何文档中规定的合法数值和正确的行为,当然,它在客户区显示一幅图片并使用一总颜色填充背景,使用的图片和颜色可以通过一个选项对话框(一个属性表)来设置,为了

在WTL 7中,OnNotify() 没有改变 PSN_* 消息的返回值,处理函数返回任何文档中规定的合法数值和正确的行为。当然,为了向前兼容,WTL 3 仍然使用当前默认的工作方式,要使用WTL 7的消息处理方式,你必须在中including atldlgs.h一行之前添加一行定义:

#define _WTL_NEW_PAGE_NOTIFY_HANDLERS

编写新的代码没有理由不使用WTL 7的消息处理函数,所以这里就不介绍WTL 3的消息处理方式。

CPropertyPageImpl 为所有消息提供了默认的通知消息处理函数,你可以重载与你的程序有关的消息处理函数完成特殊的操作。默认的消息处理函数和相应的行为如下:

int OnSetActive() - 允许页面成为激活状态

BOOL OnKillActive() - 允许页面成为非激活状态

int OnApply() - 返回 PSNRET_NOERROR 表示应用操作成功完成

void OnReset() - 无相应的动作

BOOL OnQueryCancel() - 允许取消操作

int OnWizardBack() - 返回到前一个页面

int OnWizardNext() - 进行到下一个页面

INT_PTR OnWizardFinish() - 允许向导结束

void OnHelp() - 无相应的动作

BOOL OnGetObject(LPNMOBJECTNOTIFY lpObjectNotify) - 无相应的动作

int OnTranslateAccelerator(LPMSG lpMsg) - 返回 PSNRET_NOERROR 表示消息没有被处理

HWND OnQueryInitialFocus(HWND hWndFocus) - 返回 NULL 表示将按Tab Order顺序的第一个控件设为焦点状态

创建一个属性表

关于这些类的解释就全部讲完了,现在需要一个例子程序演示如何使用它们。本章的例子工程是一个简单的SDI程序,它在客户区显示一幅图片并使用一总颜色填充背景,使用的图片和颜色可以通过一个选项对话框(一个属性表)来设置,还有一个向导(稍后会介绍)。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:MFC 程序员 WTL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接