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的。。。。
我不要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;
}