不会响应DrawItem ,我已经勾选了Owner Draw Fixed

qunqun2012 qunqun2012 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
为什么CListCtrl的派生类 CAccelList类 不会响应DrawItem ,我已经勾选了Owner Draw Fixed

//ListCtrl自绘调用
void CAccelList:: DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){

AfxMessageBox(_T("nihao")); CListCtrl::DrawItem(lpDrawItemStruct);

}

//这个函数,除非组合框控件自绘,才会调用
void CAccelList::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) {
// TODO: Add your message handler code here and/or call default

AfxMessageBox(_T("nhao"));

CListCtrl::OnDrawItem(nIDCtl, lpDrawItemStruct);
}

我发现结果,都没有弹出AfxMessageBox来,我已经勾选了Owner Draw Fixed


另外一个问题:


在CAccelList中有一个私有成员CComboBox类型的m_boxNum


动态创建代码为:


m_boxNum.Create(WS_CHILD | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST ,CRect(100, 17, 200, 80),this,IDD_COMBOXNUM);


风格如上。。。 现在有个小三角形,很丑陋,想去掉。。。

能否在在OnDrawItem中通过自绘,从而去掉这个小三角形啊?



当用户点击的时候,再出现下拉, 而不是有三角形。。。
...全文

相关推荐

MFC复选下拉框实现:从CComboBox自绘到CCheckComboBox

下拉选择控件是桌面应用中最常见的交互元素之一,而多选功能则是筛选面板、配置向导等场景的刚需。MFC自带的CComboBox仅支持单选,CListBox虽可多选却占用固定区域,CCheckListBox又不是下拉形态。借助Windows提供的Owner-Draw自绘机制,开发者可以在CComboBox基础上绘制复选框,并利用反射消息封装逻辑。自绘方案不仅解决了原生控件形态与多选需求的矛盾,还避免了引入第三方库带来的维护成本。本文结合VS2017及以上版本的MFC工程实践,完整解析复选下拉框的绘制区分、复选框画

paxzone

《模式识别与数据挖掘》配套PPT课件

《模式识别与数据挖掘》配套PPT课件

Bryan Ding

科技成果转化项目进场交易前,评估备案环节需要准备哪些材料?_8.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核

人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核

Bryan Ding

跨境电商供应链管理(AIGC版)课件+教案+参考答案

跨境电商供应链管理(AIGC版)课件+教案+参考答案

Bryan Ding
评论 20
收藏 已收藏
分享
返回顶部
qunqun2012
VC/MFC 16,550 成员 421,606 内容