[英]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.