zoukankan      html  css  js  c++  java
  • 图形和文本所有者绘制列表框

    Sample Image - MFC_OwnerDraw_Listbox.jpg 介绍 你好,每个人。这是我关于CodeProject的第一篇文章,我希望它对您有用。我的文章是关于一个ownerdraw MFC列表框,我开发,接受文本和图标在它。最后一件事是,我希望你给这篇文章评分,这样我可以知道你的意见。非常感谢。 列表框的功能 我们都知道,在Visual Studio 6中,从控件工具栏拖放的常规列表框只接受文本。但我做了三个额外的功能在我的列表框是: 接受文本旁边的图形图标(.ico)文件。您可以确定文本和图标在列表框中的位置(左或右)。你可以在列表框中拖放任何(.ico)图标文件,它们会自动添加。 开始之前要做的事情 在使用COwnerDrawListBox类之前,需要考虑一些设计过程。首先在Visual Studio中打开resource选项卡,选择你要放入列表框的对话框,然后从控制栏中拖拽一个列表框,然后像这样在对话框中调整它: Project Settings 然后打开列表框的属性对话框,选择样式选项卡,改变图片中的属性,如下图所示: Listbox Styles Settings 您必须将所有者绘制样式更改为变量,因为我们的列表框包含要绘制的文本和图标,然后取消对排序的勾选,并选中如上所示的垂直滚动。在此之后,选择下一个标签(扩展样式)并检查接受文件,如下所示: Listbox Extended Settings 最后一件事,在你做了所有这些之后,你必须创建一个变量并将它附加到listbox控件上,这样你就可以在其中使用和添加项目,但请确保你从我们的类COwnerDrawListBox创建了这个变量,而不是CListBox。 使用的代码 首先,您必须将OwnerDrawListBox .cpp和.h文件添加到项目中。让我们假设您正在处理一个基于对话框的MFC项目作为演示项目,如果项目名称是ownerdrawdlg,那么在COwnerDrawDlg类中,您应该包括OwnerDrawListBox文件。 隐藏,复制Code

    #include "OwnerDrawListBox.h"

    然后假设我们要在列表框中添加项目的地方是在OnInitDialog()函数中,并且我们来自COwnerDrawListBox类的对象被称为m_OwnerListBox,因此,就在这一行之前: 隐藏,复制Code

    return TRUE;

    像这样调用成员函数Add(): 隐藏,复制Code

    m_OwnerListBox.Add("Cafe", AfxGetApp()->LoadIcon(IDI_CAFE));

    其中宏IDI_CAFE是添加到项目资源并命名的图标。然后还有两个我创建的帮助功能,分别帮助您设置图标和文本位置SetIconPosition和SetTextPosition。如果你想设置一个的位置,那么你必须设置另一个的位置它的位置被设置的那个将会被绘制,而另一个将不会被绘制。你可以像这样使用两个函数: 隐藏,复制Code

    m_OwnerListBox.SetTextPosition(COwnerDrawListBox::ITEM_LEFT);
    m_OwnerListBox.SetIconPosition(COwnerDrawListBox::ITEM_RIGHT);

    其中参数COwnerDrawListBox::ITEM_RIGHT或传递给函数SetIconPosition或SetTextPosition的COwnerDrawListBox::ITEM_LEFT是你想在列表框中设置文本或图标的值。如果您没有设置图标和文本的任何一个位置,它们将被设置为文本在右边而图标在左边的默认位置。 在你完成之后,你必须调用Destroy()函数来删除所有在COwnerDrawListBox类中使用的指针,并且不允许任何内存泄漏像这样发生: 隐藏,复制Code

    m_OwnerDrawListBox.Destroy();

    关于我的 我叫米娜·纳比尔,我作为一个软件工程师在金字塔系统开发(PSD)和我的第一篇文章CodeProect as 我之前所说,so 我想听到你的评论,评论,如果有人想问什么,只是邮件我在mina.nsami@gmail.com或离开我一个消息,我保证我将回复。非常感谢。 本文转载于:http://www.diyabc.com/frontweb/news361.html

  • 相关阅读:
    MongoDB一键安装
    Mongo基本操作
    MongoDB AUTH结果验证及开启方法
    MongoDB AUTH结果验证
    MongoDB使用
    MongoDB-安装配置
    11204RAC-dbca建库脚本
    MySQL主从同步最佳实践
    实时抓取主从的同步状态
    守护神 Supervisor
  • 原文地址:https://www.cnblogs.com/Dincat/p/13443811.html
Copyright © 2011-2022 走看看