Wtl的使用
wtl是基于atl的扩展,用于编写窗口程序。利用Wtl编写程序,比mfc,程序小巧。适合于atl com组件开发。
安装WTL
下载地址:http://sourceforge.net/projects/wtl
将WTL**解压至c:\wtl**目录。打开Visual Studio,选择工具->选择->目录,在include中将c:\wtl**\include加入。
如果要集成到AppWizard中,进入appwiz目录运行setup脚本,具体请看解压得到的readme.htm。
创建wtl工程后,以复选框为例说明wtl对象的使用。其实很简单,就是窗口元件的创建和消息响应函数两件事情。
////////////////////////////////////////
在窗口类头文件.h中
////////////////////////////////////
#define IDC_TEST 3000
在消息处理体加入消息响应函数:
BEGIN_MSG_MAP(窗口类名)
COMMAND_HANDLER(IDC_TEST,BN_CLICKED,OnTest)
END_MSG_MAP()
相应的函数定义:
LRESULT OnTest(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
以及变量定义:
CButton m_Test;//用于创建复选框
/////////////////////////////////////////////////////
在窗口类cpp文件中
////////////////////////////////////////////////
在窗口创建函数中
LRESULT 窗口类::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
RECT rc;
rc.left=220;rc.top=22;rc.right=rc.left+80;rc.bottom=rc.top+20;
m_Test.Create(m_hWnd,&rc,_T("测试"),WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,0,IDC_TEST); //显示复选框
m_Test.SetCheck(1); //将其选上,作为示例
}
//响应函数
LRESULT CSetTimeGB::OnTest(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
{
int myState=m_Test.GetCheck();
......
}