作者:朱金灿
来源: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#"));
参考文献: