构造WTL Dialog
来源:互联网 发布:远程控制的软件 编辑:程序博客网 时间:2024/05/16 07:40
WTL的dialog是经常用到,也是非常有用的,那怎么创建新的dialog呢?步骤如下:
1.添加dialog资源
2.在界面上添加自己的控件,然后添加事件,属性,这时候就会绑定到一个类,工程会增加一个.h和.Cpp文件。
3.修改我们的.h和cpp文件,大致框架如下:
// CTestDlg 对话框
// TestDlg .h : interface of the CTestDlg class
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
class CTestDlg : public CDialogImpl<CTestDlg >
{
public:
enum { IDD = IDD_DIALOG_Test }; //指定我们的窗体ID
BEGIN_MSG_MAP(CTestDlg ) //消息映射
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
END_MSG_MAP()
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
};
// TestDlg.cpp : implementation of the CTestDlg class
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "resource.h"
#include "TestDlg.h"
LRESULT CTestDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
//其他的初始化
return TRUE;
}
LRESULT CTestDlg::OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
EndDialog(wID);
//其他的处理
return 0;
}
4.如果出现编译error:Window.h重包含。
解决方法是:删除stdafx.h里面的 “#include <afxwin.h>”
OK,一个dialog就添加好了,下面的工作就是为dialog的修饰和事件处理了。。。。。。。
- 构造WTL Dialog
- 【转】WTL-Open file dialog of new vista/win7 style
- WTL for MFC Programmers, Part V - Advanced Dialog UI Classes
- WTL for MFC Programmers, Part V - Advanced Dialog UI Classes
- WTL
- WTL
- WTL
- WTL
- WTL
- WTL
- WTL
- WTL
- wTL
- WTL
- WTL
- WTL
- WTL
- 利用构造者模式创建Dialog
- Ubuntu环境变量的设置及初始化shell && 桌面添加应用的快捷方式 && OTA服务器的搭建和发布 && 允许mysql远程连接
- mct_u232_driver和mct_u232_device usb驱动是怎么关联到一起的
- power shell
- Mysql替代解决方案Cassandra
- 响应MFC Feature Pack中 CMFCRibbonCategory 切换消息
- 构造WTL Dialog
- ExtJs2.0学习系列(4)--Ext.FormPanel之第一式
- 总结flex各种用法
- 贪心安装64位linux的尴尬
- VC内存泄露检查工具:Visual Leak Detector
- 用来武装Firefox的24款Web开发插件
- 李广射石
- 多硬盘的引导文件boot.ini
- ExtJs2.0学习系列(5)--Ext.FormPanel之第二式