Static 背景颜色

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:24:38
我想在 WinSDK 里设置 Static 控件的 背景颜色,但我怎么试都不成功,网上找了好多,但都试不出来,请各位高出手来帮我一下。

我不要MFC的,只要WINSDK的实现方法,谢谢。。因为在网上找都是MFC的实现方法。

还请各位高手,贴一下成功的代码

HDC hDC;
hDC = ::GetDC(hWnd);

if(S_OK != ::SetBkColor(hDC,color))
return 0;

::ReleaseDC(hWnd,hDC);

这是我原来的代码,也试过 WM_CTLCOLORSTATIC 但都没能改变其背景颜色
1楼的大哥,我不要MFC的,我要WINSDK的。。。。

case WM_CTLCOLORSTATIC:
SetTextColor((HDC)wParam, RGB(255, 0, 0));
SetBkColor((HDC)wParam, RGB(0, 255, 0));
return (LRESULT)CreateSolidBrush(RGB(0, 0, 255));
break;

这里返回值应该是背景的刷子
return (LRESULT)CreateSolidBrush(RGB(0, 0, 255));

这个执行结果是 红字,字背景 绿色,整体背景蓝色

建个刷子,在static中敲空格就画背景色。

class CTestDlg : public CDialog
{
...
protected:
CBrush m_brush;
...
};
BOOL CTestDlg::OnInitDialog()
{
...
m_brush.CreateSolidBrush(RGB(255, 255, 255)); // color white brush
...
}
HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// Return the white brush.
return m_brush;
}