zoukankan      html  css  js  c++  java
  • win32 sdk绘制ListBox控件

    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.       
    3.     if((UINT) wParam==IDC_LISTBOX)  
    4.     {  
    5.         LPDRAWITEMSTRUCT pDI=(LPDRAWITEMSTRUCT) lParam;  
    6.         HBRUSH brsh=CreateSolidBrush(RGB(255-30*pDI->itemID, 128+40*pDI->itemID, 128+40*pDI->itemID));//yellow  
    7.         FillRect(pDI->hDC,&pDI->rcItem,brsh);  
    8.         DeleteObject(brsh);  
    9.         // text   
    10.         SetBkMode(pDI->hDC,TRANSPARENT);  
    11.         char szText[260];  
    12.         SendMessage(m_hListBox,LB_GETTEXT,pDI->itemID,(LPARAM)szText);  
    13.         const DWORD dwStyle = DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX | DT_END_ELLIPSIS;  
    14.         DrawText(pDI->hDC, szText, strlen(szText), &pDI->rcItem, dwStyle);  
    15.     }  
    16. break;  


    4》要点:| LBS_OWNERDRAWFIXED | LBS_HASSTRINGS,

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

  • 相关阅读:
    python+selenium webdriver.firefox()方式配置浏览器设置
    spring框架学习之依赖注入(二)
    spring框架体系结构介绍
    mongoDB数据更新与操作符
    mongoDB学习笔记<一>
    关于IOS AFNetWorking内存泄漏的问题
    IOS 11 下适配UITableView
    调试Xamarin.Android时出现缺少"Mono.Posix 2.0.0"的错误
    EF6 MySQL错误之“Specified key was too long; max key length is 767 bytes”
    Webstrom安装+激活
  • 原文地址:https://www.cnblogs.com/findumars/p/5402975.html
Copyright © 2011-2022 走看看