作者:朱金灿
来源:http://blog.csdn.net/clever101
ATL并不像MFC库那样提供了很多的控件窗口类,因此要使用ATL的话需要自己去封装。封装的做法很简单。比如现在我需要一个列表控件,可以这样进行封装。首先新建一个C++类:CMiniComboBox,它派生自ATL::CWindow,代码如下:
// MiniComboBox.h #pragma once #include <atlctl.h> class CMiniComboBox:public ATL::CWindow { public: // 在ComboBox中添加一个下拉项 LRESULT AddString( LPCTSTR lpszString ); virtual ~CMiniComboBox(void); }; // MiniComboBox.cpp #include "stdafx.h" #include "MiniComboBox.h" CMiniComboBox::~CMiniComboBox(void) { } LRESULT CMiniComboBox::AddString( LPCTSTR lpszString ) { return ::SendMessage( m_hWnd, CB_ADDSTRING, 0, (LPARAM)lpszString ); }
在ATL对话框框类中这样使用:
CMiniComboBox cmbLan; cmbLan.Attach(GetDlgItem(IDC_CMB_LANGUAGE)); cmbLan.AddString(_T("C++")); cmbLan.AddString(_T("C#"));
参考文献: