1》产生:

[html] view plaincopy
  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:
[cpp] view plaincopy
  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》画:
[cpp] view plaincopy
  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,

win32 sdk绘制ListBox控件相关推荐

  1. ListBox 控件

    ListBox 控件又称列表框,它在工具箱中的图标为,它显示一个项目列表供用户选择.在列表框中,用户一次可以选择一项,也可以选择多项. 1.常用属性: (1) Items属性: 用于存放列表框中的列表 ...

  2. C#ListBox控件

    ListBox 控件又称列表框,它显示一个项目列表供用户选择.在列表框中,用户一次可以选择一项,也可以选择多项. 1.常用属性: (1) Items属性: 用于存放列表框中的列表项,是一个集合.通过该 ...

  3. C# ListBox 控件

    ListBox 控件又称列表框,它显示一个项目列表供用户选择.在列表框中,用户 一次可以选择一项,也可以选择多项. 1.常用属性: (1)Items属性: 用于存放列表框中的列表项, 是一个集合.通过 ...

  4. ListBox 控件

    ListBox 控件 ListBox 控件又称列表框,它显示一个项目列表供用户选择.在列表框中,用户 一次可以选择一项,也可以选择多项. 1.常用属性: (1) Items属性: 用于存放列表框中的列 ...

  5. Win32 ListBox控件

    Win32 ListBox控件 创建ListBox控件 创建窗口函数 HWND CrateWindowEx(DWORD dwExStyle , // 窗口的扩展风格,基本没用LPCTSTR lpCla ...

  6. 『原创』用C++开发WM应用系列(6)——深化ListBox控件

    用C++开发WM应用系列文章索引 引言: 在上一篇博文中,我们简单的学习了ListBox控件的项添加.项的全部清除.接上一篇的尾巴,我们将在这篇博文中,介绍一些ListBox的小技巧吧,比如,获取选中 ...

  7. asp.net Listbox控件用法

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

  8. c# ListBox控件

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

  9. MFC ListBox控件设置字体颜色

    文章目录 描述 需要解决的问题 方案 设置 Item 颜色 鼠标双击事件 调用 Static 控件的背景颜色设置 描述 最近的项目中需要用到 MFC 的列表控件,列表控件中需要动态插入产品不同的测试状 ...

  10. C# ListBox控件中item换行 C#重绘ListBox项

    C# ListBox控件中item换行 C#重绘ListBox项 WindowsForm项目开发中,Listbox控件item数据项,只能一条数据显示在一行,有的时候内容很长,体验就非常之差.简直要歇 ...

最新文章

  1. ASP.NET 验证控件
  2. KVM 实现机制---(很經典)
  3. Jersey框架三:Jersey对HTTPS的支持
  4. Linux内核0.12完全注释
  5. 亚信安全信舱(DS)取得联通天玑安全平台兼容性认证
  6. Mysql无法创建外键的原因汇总_查看MySQL创建外键约束失败详细原因的方法
  7. oracle数据库将一列的值拼接成一行,并且各个值之间用逗号隔开
  8. springboot冲突导致的发版失败
  9. tomcat相关问题汇总
  10. 编程练习赛11B 物品价值(装压dp)
  11. DWR Sample
  12. 关于 redis crackit 安全事件分析
  13. linux apache压缩包安装目录,源码包安装Apache服务
  14. 弗洛伊德算法(求每一对顶点间的最短路径)
  15. seo关键词优化的技巧
  16. [学习笔记]Windows CMD/bat
  17. [软考]项目管理之十二大项目管理输入输出、工具技术、作用及内容总结
  18. DirectX11--实现一个3D魔方(3)
  19. SQL渗透与防御——(二)SQL注入
  20. 在线URLEncode/URLDecode网址

热门文章

  1. 从零基础入门Tensorflow2.0 ----八、42. 自定义流程
  2. 从零基础入门Tensorflow2.0 ----八、41. estimator分布式实战
  3. R中ggplot2绘图学习笔记
  4. 【空间分析】7 叠置分析和缓冲区分析
  5. mysql命令行进入报错ERROR 2002 (HY000)
  6. 一个网站 一个域名跟服务器吗,域名服务器与根服务器区别吗
  7. 数据结构-02-链表数据结构之双链表和循环链表
  8. CSDN九年的博客时光
  9. 5分钟了解CDN 加速原理
  10. 几种主流热修复方案分析