-----------两个问题,大侠请看------------

coppermine 2003-12-18 05:01:42
1:如何判断一个窗口是否可见?
2:如何将一个对话框背景画为黑色,不能使用在OnPaint中用StrechBlt的贴图方法?
...全文
19 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
osborn 2003-12-18
  • 打赏
  • 举报
回复
改变窗口类的brush,在注册RegisterClass时,

typedef struct _WNDCLASS {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground; // 创建一个黑色画刷,赋给它
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
} WNDCLASS, *PWNDCLASS;

或者用

DWORD SetClassLong(
HWND hWnd, // handle to window
int nIndex, // index of value to change
LONG dwNewLong // new value
);

修改背景画刷
tszzp 2003-12-18
  • 打赏
  • 举报
回复
1.IsWindowVisible
2. 在App中调用SetDialogBkColor(可能记错了,你看看MSDN),或者响应WM_ERASEBKGND.
spark_zh 2003-12-18
  • 打赏
  • 举报
回复
老大,混呢吧,4个▲还问这种问题。
WM_ERASEBKGND对对话框当然有用,Invalidate(true)就会调了
coppermine 2003-12-18
  • 打赏
  • 举报
回复
help
coppermine 2003-12-18
  • 打赏
  • 举报
回复
除了OnCtlColor呢,WinCE下不起作用
yifengling0 2003-12-18
  • 打赏
  • 举报
回复
IsWindowVisible(HWND hWnd)
yifengling0 2003-12-18
  • 打赏
  • 举报
回复

2.
HBRUSH CtesttopDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CreateSolidBrush(RGB(255,0,0));


return hbr;
}
coppermine 2003-12-18
  • 打赏
  • 举报
回复
WM_ERASEBKGND - 对对话框没用

WS_VISIBLE -用这个也太复杂了吧,比如我要知道一个按钮是否可见
nava 2003-12-18
  • 打赏
  • 举报
回复
补充: IsWindowVisible
bright2k 2003-12-18
  • 打赏
  • 举报
回复
WS_VISIBLE

WM_ERASEBKGND

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧