<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    win32 sdk 列表視圖控件繪制

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接 [cpp] view plaincopy  
    1. //////////////////////////////////////////////////////////////  
    2. LRESULT ListViewCustomDraw(HWND hwnd, LPARAM lParam)  
    3. {  
    4.     LPNMHDR pnmh = (LPNMHDR) lParam;  
    5.           
    6.     if (pnmh->code != NM_CUSTOMDRAW) return 0;  
    7.           
    8.     LPNMLVCUSTOMDRAW lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;  
    9.   
    10.     int nResult = CDRF_DODEFAULT;   
    11.       
    12.     if (CDDS_PREPAINT == lpNMCustomDraw->nmcd.dwDrawStage)  
    13.     {  
    14.         nResult = CDRF_NOTIFYITEMDRAW;  
    15.     }  
    16.     else if (CDDS_ITEMPREPAINT == lpNMCustomDraw->nmcd.dwDrawStage)  
    17.     {  
    18.         nResult = CDRF_NOTIFYSUBITEMDRAW;  
    19.     }  
    20.     else if ((CDDS_ITEMPREPAINT | CDDS_SUBITEM) == lpNMCustomDraw->nmcd.dwDrawStage)  
    21.     {  
    22.         nResult = CDRF_SKIPDEFAULT;  
    23.           
    24.         const DWORD dwStyle = DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX | DT_END_ELLIPSIS;  
    25.           
    26.         HDC hdc = lpNMCustomDraw->nmcd.hdc;   
    27.         SetBkMode(hdc,TRANSPARENT);  
    28.         int nItem = (int)lpNMCustomDraw->nmcd.dwItemSpec;   
    29.         int nSubItem = lpNMCustomDraw->iSubItem;   
    30.           
    31.         BOOL bItemSelected = ListView_GetItemState(hwnd, nItem, LVIS_SELECTED);  
    32.           
    33.         RECT subItemRect;  
    34.         ListView_GetSubItemRect(hwnd, nItem, nSubItem, LVIR_BOUNDS, &subItemRect);  
    35. //        
    36.         HBRUSH brsh=0;   
    37.         if (bItemSelected)  
    38.         {   //OutputDebugString("bItemSelected\n");  
    39.             brsh=CreateSolidBrush(RGB(255, 128, 128));//yellow  
    40.             FillRect(hdc, &subItemRect,brsh);  
    41.         }  
    42.         else  
    43.         {// not Selected  
    44.             brsh=CreateSolidBrush(RGB(51+nItem*30, 153, 255-nItem*30));  
    45.             FillRect(hdc, &subItemRect,brsh);  
    46.         }  
    47.         if(brsh) DeleteObject(brsh);  
    48. //  
    49.         TCHAR szText[260];  
    50.         ListView_GetItemText(hwnd, nItem, nSubItem, szText, 260);  
    51.         DrawText(hdc, szText, strlen(szText), &subItemRect, dwStyle);  
    52.     }  
    53.     return nResult;  
    54. }  


     

    關鍵:
    else
    {// not Selected
    brsh=CreateSolidBrush(RGB(51+nItem*30, 153, 255-nItem*30));
    FillRect(hdc, &subItemRect,brsh);
    }

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全