1》产生:

  1. //
  2. HWND CreateLB(HWND parentWnd)
  3. {
  4. HWND hListBox=0;
  5. hListBox = CreateWindow("LISTBOX",
  6. NULL,
  7. WS_CHILD|WS_VSCROLL | WS_TABSTOP | LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS,
  8. 230, 20, 60, 80,
  9. parentWnd, (HMENU)IDC_LISTBOX,
  10. (HINSTANCE) GetWindowLong(parentWnd, GWL_HINSTANCE),
  11. NULL);
  12. ShowWindow(hListBox,SW_SHOW);
  13. SendMessage(hListBox,LB_ADDSTRING ,0,(LPARAM)"你好");
  14. SendMessage(hListBox,LB_ADDSTRING ,0,(LPARAM)"我好");
  15. SendMessage(hListBox,LB_ADDSTRING ,0,(LPARAM)"他好");
  16. //
  17. return hListBox;
  18. }
2》指定size:
 
  1. case WM_MEASUREITEM://ODT_LISTBOX
  2. if((UINT) wParam==IDC_LISTBOX)
  3. {
  4. LPMEASUREITEMSTRUCT lpmis = (LPMEASUREITEMSTRUCT) lParam;
  5. lpmis->itemWidth=400;
  6. lpmis->itemHeight=22;
  7. }
  8. break;
3》画:
 
  1. case WM_DRAWITEM:
  2. if((UINT) wParam==IDC_LISTBOX)
  3. {
  4. LPDRAWITEMSTRUCT pDI=(LPDRAWITEMSTRUCT) lParam;
  5. HBRUSH brsh=CreateSolidBrush(RGB(255-30*pDI->itemID, 128+40*pDI->itemID, 128+40*pDI->itemID));//yellow
  6. FillRect(pDI->hDC,&pDI->rcItem,brsh);
  7. DeleteObject(brsh);
  8. // text
  9. SetBkMode(pDI->hDC,TRANSPARENT);
  10. char szText[260];
  11. SendMessage(m_hListBox,LB_GETTEXT,pDI->itemID,(LPARAM)szText);
  12. const DWORD dwStyle = DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX | DT_END_ELLIPSIS;
  13. DrawText(pDI->hDC, szText, strlen(szText), &pDI->rcItem, dwStyle);
  14. }
  15. break;
4》要点:| LBS_OWNERDRAWFIXED | LBS_HASSTRINGS,

http://www.cnblogs.com/lidabo/p/3701607.html

win32 sdk绘制ListBox控件的更多相关文章

  1. win32 sdk列表视图控件(ListCtrl或ListView)资料整理

    列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来.与树视图类似,列表控件可以由多个子项目组成,可以设置为Icon ...

  2. win32 sdk 列表视图控件绘制

    ////////////////////////////////////////////////////////////// LRESULT ListViewCustomDraw(HWND hwnd, ...

  3. Win32 SDK:ListBox 为什么不整个 LB_SETTEXT

    Win32 & SDK: ListBox 有个 LB_GETTEXT,为什么没有 LB_SETTEXT,想修改指定Item的Text,还真不容易. 自已写了一个,支持单选和多选模式,部分代码: ...

  4. asp.net Listbox控件用法

    2008-02-18 19:56 来源: 作者: ListBox(列表框)控件可以显示一组项目的列表,用户可以根据需要从中选择一个或多个选项.列表框可以为用户提供所有选项的列表.虽然也可设置列表框为多 ...

  5. c# ListBox控件

    ListBox控件可以一次呈现多个项,并且语序对控件中的选项进行选择操作,ListBox类公开Items属性,它是一个集合,类型为ListBox.ObjectCollection,是ListBox的一 ...

  6. asp.net中的ListBox控件添加双击事件

    问题:在Aspx页里的ListBox A中添加双击事件,将选中项添加到另一个ListBox B中,双击ListBox B中的选中项,删除当前选中项 页面: <asp:ListBox ID=&qu ...

  7. WPF中ListBox控件在选择模式(SelectionMode)为Single时仍然出现多个Item被选中的问题

    最近在学习WPF过程中使用到了ListBox控件,在使用时遇到下面的奇怪问题: 代码如下: listBox.Items.Add("绘图"); listBox.Items.Add(& ...

  8. MATLAB GUI程序设计中ListBox控件在运行期间消失的原因及解决方法

    在运行期间,ListBox控件突然消失,同时给出如下错误提示: Warning: single-selection listbox control requires that Value be an ...

  9. MFC中Listbox控件的简单使用

    MFC中listbox控件是为了显示一系列的文本,每个文本占一行.   Listbox控件可以设置属性为: LBS_CHILD   :(默认)子窗口 LBS_Visible :(默认)可视 LBS_M ...

随机推荐

  1. Main方法的执行过程(转)

    要运行一个 main 方法 , 首先要知道 main 方法所在的 Class, 在命令行中指定这个 Class 名 Class Lava{ Private int speed = 4; Void fl ...

  2. 转:一道笔试题-将int型数组强制转换为char*,再求strlen,涉及大小端

    写出如下程序运行结果: #include<stdio.h> #include<string.h> int main() { int a[2000]; char *p = (ch ...

  3. Sql 增加字段(有些只能在ORACLE中运行)

    增加字段 alter table table_name add column_name varchar(200) 删除字段 ALTER TABLE table_NAME DROP COLUMN col ...

  4. [置顶] Java套接字Socket编程

    1)概念 网络编程基本模型就客户端到服务器的模型,也就是我们常见的C/S模型.简单的说就是两个进程间相互通信的过程.即通信双方一方作为服务器等待客户端提出请求并给以回应,另一方作为客户端向服务器提出请 ...

  5. Oracle 数据的导入和导出(SID service.msc)

    一:版本号说明: (1)(Oracle11  32位系统)Oracle - OraDb11g_home1: (2)成功安装后显演示样例如以下:第一个图是管理工具.创建连接.创建表:第二个是数据库创建工 ...

  6. glog另启动线程写文本日志

    glog本身是很高效的,google的大牛肯定知道大规模的写日志用glog的话肯定会影响业务线程的处理,带负荷的磁盘IO谁都桑不起.比方levelDB就是默认异步写,更不用说google的三驾马车都是 ...

  7. Linux C++ 开发简介(包括Linux守护线程)

    阅读目录 简介 操作系统 编辑器 编译器 构建系统 调试 IDE 可执行程序.动态库.静态库 服务 Windows服务简介 创建Windows服务 注册Windows服务 管理Windows服务 Li ...

  8. 仿OpenStack开发云计算管理软件

    仿OpenStack开发云计算管理软件 使用Python语言开发一套类似OpenStack的云计算管理平台LouCloud,具备基本的用户,服务器,镜像与 虚拟机管理功能,学习IaaS,虚拟化,Lib ...

  9. android用户界面之ScrollView教程实例汇总

    --------------------------汇总不容易啊------------------------------- 一.ScrollView基础知识 1.Android中ScrollVie ...

  10. input标签的hidden属性的应用及作用

    定义:传输关于客户端/服务器交互的状态信息. Transmits state information about client/server interaction. 解释: 此元素在页面中不显示,在 ...