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

    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.       
    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,
  • 相关阅读:
    git_02_git常用操作命令
    git_01_上传第一个项目至git
    Jenkins持续集成_04_解决HTML测试报告样式丢失问题
    Jenkins持续集成_03_添加测试报告
    Jenkins持续集成_02_添加python项目&设置定时任务
    Jenkins持续集成_01_Mac安装配置
    Mac获取Jenkins管理员初始密码
    (appium+python)UI自动化_10_adb常用命令
    安卓monkey自动化测试,软硬回车
    冒烟测试
  • 原文地址:https://www.cnblogs.com/lidabo/p/3701607.html
Copyright © 2011-2022 走看看