繁体   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