c++ - 将 CPen 绑定(bind)到列表框

标签 c++ mfc

有谁知道如何在 VS2005 C++ 中将 CPen 对象绑定(bind)到列表框?

我可以通过某种转换将它作为 ToString 来实现吗?

我正在创建一个不同笔的自定义列表供用户选择。

谢谢。

    COLORREF  rgbRED = (255,0,0);
    CPen penRed(PS_SOLID,3,rgbRED);

    CDialog::OnInitDialog();
    ShowWindow(SW_SHOW);
    UpdateData();
    lbLineWeight.InsertString(penRed);

最佳答案

2 个选项。

  • (简单)使用带有字符串的普通 CListBox 作为项目,并将字符串与实际 CPen 之间的链接保持为自由函数(或其他一些类的成员),你将不得不做一个 -当前所选项目(通常是索引号)与您拥有的 CPen 信息之间的一对一关联。

  • (有点复杂)从 CListBox 派生您自己的类并在内部保留 CPen 数据,您仍然需要在该新类中保留有效 CPen 列表,并进行一对一关联所选项目与实际 CPen 之间;作为奖励,您可以让自己派生 CListBox 所有者绘制,而不是使用字符串,您可以绘制列表项中每支笔的某种表示形式。

另一个难题,您可以将 CPen 作为用户数据添加到每个 CListBox 项目 (CListBox::SetItemData) 中,以使项目和实际项目之间的链接更容易一些。

祝你好运。

最大

关于c++ - 将 CPen 绑定(bind)到列表框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7002147/

相关文章:

c++ - MFC 应用程序启动后立即崩溃

c++ - 安装了 Cygwin64 并且在 Eclipse 中无法在 <iostream> 中找到 Unresolved inclusion

c++ - 如何对齐显示的数据以使其看起来像表格?

c++ - 是否可以在 CEdit 控件的纯数字输入模式和字母数字输入模式之间切换?

c++ - 如何在 MFC 中创建一个 guid

c++ - 添加图标时 CMFCStatusBar 更改高度

C++ 类,对#ifdef、#define 和#endif 的混淆

c++ - MSVC : union vs. 具有内联友元运算符的类/结构

c++ - C++ 中默认初始化的全局强类型枚举是什么?

c++ - 如何将控制类划分为实现与公共(public)接口(interface)?