簡體   English   中英

具有特定寬度和高度的DrawState

[英]DrawState with specific width and height

我正在嘗試使用DrawState方法繪制一個禁用的圖標。 我的問題現在是此方法忽略了寬度(參數BUTTONWIDTH )和高度(參數BUTTONHEIGHT )。

是否有其他可用的方法,或者我需要更改一些參數?

void CPgFPButton::DrawButtonIcon(LPDRAWITEMSTRUCT lpdis, HICON hicon)
{
    RECT rect = lpdis->rcItem;
    rect.left = 3;
    rect.top  = 3;

    if (!m_Enabled)
        DrawState(lpdis->hDC,NULL, NULL, (LPARAM)hicon, (WPARAM)NULL,
                  rect.left, rect.top, BUTTONWIDTH, BUTTONHEIGHT, 
                  DST_COMPLEX | DST_ICON|DSS_DISABLED);
    else            
        DrawIconEx(lpdis->hDC,
                   rect.left,rect.top,hicon,
                   BUTTONWIDTH - 3 * 2,
                   BUTTONHEIGHT - 3 * 2,0,NULL,DI_NORMAL);
}

MSDN

圖像類型和狀態。 此參數可以是以下類型值之一。
DST_COMPLEX
DST_ICON

此參數也可以是以下狀態值之一。
DSS_DISABLED

您正在傳遞DST_COMPLEX | DST_ICON|DSS_DISABLED DST_COMPLEX | DST_ICON|DSS_DISABLED 看來您應該決定是使用DST_COMPLEX還是DST_ICON而不要同時使用兩者。 提醒:寬度和高度僅用於DST_COMPLEX

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM