Posted in 2001

摆脱在每个命令消息处理函数中的TRY和CATCH

每个命令处理都可能导致异常,抛出异常通常导致终止当前命令处理。在每个命令处理过程中编写异常处理代码是一个十分繁琐的工作,由于命令是CCmdTarget::OnCmdMsg中处理的,所以可以这个函数中处理所有命令处理过程产生的异常而不用分别编写异常处理函数。

CCccXCommandHandler是一个基于CCmdTarget的类(参考使用单独的命令处理类来处理命令消息)。此示例可推广到所有CCmdTarget的派生类。

Read more ...


在对话框中使用网页输入数据

此对话框使用了IE5附带的DHTMLEdit控件。

Read more ...


使用目录内容建立菜单

目的:根据目录内容,建立一个菜单。菜单项为目录中的文件和子目录(以弹出方式显示)。

解决方案:遍历子目录,建立一个文件路径数组。菜单项的ID是数组的索引。当用户单击某个菜单项时,从数组中读取文件路径并执行相应的操作。

Read more ...


使用单独的命令处理类来处理命令消息

适用于有很多命令处理函数的对象,以及共享命令处理函数。

应用程序的主窗口通常要处理许多命令消息。这会使文件变得很大,不容易查找。为明确起见,可以将对象对命令消息的处理抽象出来,做成一个(这里是一个,但是可以按用途分成多个)类。

Read more ...