自定义对话框中,
label为灰色,
tab ctrl前景为白色(默认应该是灰色的),
反复参考了label的style和属性,发现没有合适的设置,
如何将label 放到tab ctrl上,且保持 label的背景融入到tab ctrl的前景中???窝很困惑控件的外观是怎么配置的,
默认的外观对于不同的windows 版本又能表现出不同的外观,
如果要换皮肤又该怎么做呢?
有没有高手指点一下,或者推荐几本相关的书吧,
谢谢先

解决方案 »

  1.   

    把OnCtlColor消息加上:
    HBRUSH CDlgProperty::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO: Change any attributes of the DC here
    if (nCtlColor == CTLCOLOR_STATIC) 
    {
    pDC->SetBkMode(TRANSPARENT);
    return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
    }
    // TODO: Return a different brush if the default is not desired
    return hbr;
    }这样就会使Label透明了
      

  2.   

    实现画面挺麻烦的。
    www.codeproject.com  网站上有好多例子,可以弄一下下来作参考。
      

  3.   

    响应OnCtlColor消息,或重载类,想怎样改变界面都行