编写ATL控件的简单做法
2024-10-01 20:11:28
作者:朱金灿
来源: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#"));
参考文献:
最新文章
- 利用AE编写切图工具的一些探讨
- SpringMVC常用注解實例詳解2:@ModelAttribute
- rsync.conf详解
- IOS - UITableView分批显示数据 实现点击加载更多
- [MACOS] Mac上的抓包工具Charles
- hdu Collect More Jewels
- Redis - Keepalived + redis 主备热备切换
- 【MySQL】InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据
- POJ 1273 || HDU 1532 Drainage Ditches (最大流模型)
- spring中涉及事务(bean中ref与local)
- mybatis 参数为list时,校验list是否为空, mybatis ${}与#{}的区别,Mybatis sql in
- Mecanim之IK动画
- C语言--static修饰函数
- 深入剖析Kubernetes学习笔记:深入理解镜像(08)
- 图的深度优先遍历(DFS)—递归算法
- 静态,关键字:static 接口,IUSB , API 接口关键字:interface
- 在IDEA中将SpringBoot项目打包成jar包的方法
- DocumentFragment类型
- 第8月第12天 python json.dumps danmu
- OAuth 授权过程工作原理讲解