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();

......

}

 

你可能想看:
分享给朋友: