这是一个使用WinxGui编写WTL消息转换程序,程序的目的是从WTL的atlcrack.h文件中提取WTL消息转换为配置文件为VisualFC使用,这个程序原来是用WTL写的,现在我们改用WinxGui来写,顺便讲解一下如何使用VisualFC来帮助构建WinxGui应用程序。
第一步、我们在VS60下运行WinxGui的应用程序向导,建立一个对话框应用程序wtl2cfg,选中菜单支持,快捷键支持,DDX支持。
第二步、打开VS60的资源编辑器,为wtl2cfg对话框资源IDD_MAINDLG增加一个EDIT窗口ID_CFG_EDIT,属性设置为Muliline ,Horizontal scroll,Vertical scroll,Want return。更改IDD_MAINDLG的Border属性为Resizing,以便我们能调整大小。编辑菜单IDR_MAINMENU,在ID_FILE_OPEN下再增加一个ID_FILE_SAVE,“保存.../tCtrl+S”。
第三步、运行工具栏上VisualFC的WinxGui类向导.
消息: 切换至页面Winx Notify,为菜单资源ID列表中ID_FILE_OEPN增加函数OnFileOpen,为ID_FILE_SAVE增加函数OnFileSave。
Resize: 切换至页面Winx Resize,为ID_CFG_EDIT增加Resize属性ResizeAll,为IDOK和IDCANCEL增加Resize属性AnchorRightTop。
UpdateUI: 切换至页面Winx UpdateUI,为ID_FILE_SAVE增加UpdateUI属性UPDUI_MENUPOPUP。
按WinxGui类向导的确认按钮,VisualFC将自动生成相应的代码。
第四步、将winx::UpdateUI加入wtl2cfg的继承列表中。添加变量winx::Edit m_cfgEdit,在OnInitDialog中加入代码
m_cfgEdit = DlgItem(hDlg,IDC_CFG_EDIT);
UIEnalbe(ID_FILE_SAVE,FALSE);
第五步、编写函数OnFileOpen和OnFileSave即可。程序中我使用了wtlfile.h和wtlfileex.h这两个文件属于VisualFC项目,提供了类似MFC的CFile的文件读写支持。具体代码略,参见源程序。
wtl2cfg的用法:
运行菜单中的“打开”打开WTL的atlcrack.h将自动生成配置信息并显示在ID_CFG_EDIT窗口,我们可以编辑消息如将WM_INITDIALOG的return 0;更改为return TRUE;然后运行菜单中的“保存”将其保存到wtlevent.ini文件中重启VS60即可为VisualFC使用了。
从上可以看出,WinxGui构造应用程序与WTL和MFC相比基本类似,WinxGui在VisualFC的支持下同样具备类似MFC的类向导的可视化设计能力。最后补充一点这个程序WinxGui在使用多线程动态库编译的情况下大小要优于WTL。
第一步、我们在VS60下运行WinxGui的应用程序向导,建立一个对话框应用程序wtl2cfg,选中菜单支持,快捷键支持,DDX支持。
第二步、打开VS60的资源编辑器,为wtl2cfg对话框资源IDD_MAINDLG增加一个EDIT窗口ID_CFG_EDIT,属性设置为Muliline ,Horizontal scroll,Vertical scroll,Want return。更改IDD_MAINDLG的Border属性为Resizing,以便我们能调整大小。编辑菜单IDR_MAINMENU,在ID_FILE_OPEN下再增加一个ID_FILE_SAVE,“保存.../tCtrl+S”。
第三步、运行工具栏上VisualFC的WinxGui类向导.
消息: 切换至页面Winx Notify,为菜单资源ID列表中ID_FILE_OEPN增加函数OnFileOpen,为ID_FILE_SAVE增加函数OnFileSave。
Resize: 切换至页面Winx Resize,为ID_CFG_EDIT增加Resize属性ResizeAll,为IDOK和IDCANCEL增加Resize属性AnchorRightTop。
UpdateUI: 切换至页面Winx UpdateUI,为ID_FILE_SAVE增加UpdateUI属性UPDUI_MENUPOPUP。
按WinxGui类向导的确认按钮,VisualFC将自动生成相应的代码。
第四步、将winx::UpdateUI加入wtl2cfg的继承列表中。添加变量winx::Edit m_cfgEdit,在OnInitDialog中加入代码
m_cfgEdit = DlgItem(hDlg,IDC_CFG_EDIT);
UIEnalbe(ID_FILE_SAVE,FALSE);
第五步、编写函数OnFileOpen和OnFileSave即可。程序中我使用了wtlfile.h和wtlfileex.h这两个文件属于VisualFC项目,提供了类似MFC的CFile的文件读写支持。具体代码略,参见源程序。
wtl2cfg的用法:
运行菜单中的“打开”打开WTL的atlcrack.h将自动生成配置信息并显示在ID_CFG_EDIT窗口,我们可以编辑消息如将WM_INITDIALOG的return 0;更改为return TRUE;然后运行菜单中的“保存”将其保存到wtlevent.ini文件中重启VS60即可为VisualFC使用了。
从上可以看出,WinxGui构造应用程序与WTL和MFC相比基本类似,WinxGui在VisualFC的支持下同样具备类似MFC的类向导的可视化设计能力。最后补充一点这个程序WinxGui在使用多线程动态库编译的情况下大小要优于WTL。
附件: [wtl2cfg] wtl2cfg.zip (2007-11-26 16:26, 22.83 K)
来源:CSDN
作者:visualfc
链接:https://blog.csdn.net/visualfc/article/details/1902945