如何把sdi程序的非客户区的背景颜色改变呀,或者给其添加一幅位图背景。
解决方案 »
- 谁在看《windows核心编程》第五版,问个问题
- 有没有获取包含指定点的下拉菜单项的函数?
- 高手请进,小弟遇到大麻烦了~~~~~~
- 求源码,如何实现类似于winampPlay窗口中波形随机上下震动的效果?
- 今天晚上不回家了,在公司学习
- windump可以抓取loopback的包吗?如果可以命令是什么?
- SetTimer可否接受类成员函数指针为TimerProc?
- 怎么用工具栏上的按钮,实现更新视图?
- 求助,VC 一个连接错误(急,在线等待)
- 求教Delphi(或C++)中EnumProcess无法获取系统进程ID的原因?
- 如何解决有限的LISTCONTROL界面和无限的数据库记录的问题!
- 高分求VC技术内幕的原代码?
重画这个客户窗口.为了做到这点,你要处理消息WM_ERASEBKND产生一个新类,从
CWnd继承,姑且称之为CMDIClient.给它加上一个成员变量,
#include "MDIClient.h"
class CMainFrame : public CMDIFrameWnd
{
...
protected:
CMDIClient m_wndMDIClient;
}
在CMainFrame中重载CMDIFrameWnd::OnCreateClient
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
if ( CMDIFrameWnd::OnCreateClient(lpcs, pContext) )
{
m_wndMDIClient.SubclassWindow(m_hWndMDIClient);
return TRUE;
}
else
return FALSE;
}
然后就可以加入对消息WM_ERASEBKGND的处理了.
COLORREF clr = RGB(255, 0, 0);
::SetSysColors(1, &i, &clr);