怎么改变MainFrame的背景色?

thrXY2 2005-05-30 02:13:27
我看到一个例子是这样的,但有点不懂:
Create a new class derived from CWnd. Let's call it CMDIClient.

Add a member variable of CMDIClient to your CMDIFrameWnd derived class, in this case CMainFrame:

#include "MDIClient.h"
class CMainFrame : public CMDIFrameWnd
{
...
protected:
CMDIClient m_wndMDIClient;
}
Override CMDIFrameWnd::OnCreateClient in your CMainFrame class and subclass the existing client window that CMDIFrameWnd owns:
bool CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
if ( CMDIFrameWnd::OnCreateClient(lpcs, pContext) )
{
m_wndMDIClient.SubclassWindow(m_hWndMDIClient);
return TRUE;
}
else
return FALSE;
}
问题是::::
m_wndMDIClient.SubclassWindow(m_hWndMDIClient); 这个是什么意思,m_hWndMDIClient是什么变量?大家有没有更好的解决的办法?
随便问一下,有什么书是关于介绍写界面方面的书?写界面感觉好难。
...全文
239 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2005-05-31
  • 打赏
  • 举报
回复
m_wndMDIClient是微软对MDI的实现的一部分,位于MDI主框架的客户区。这个窗口是MDI主框架的子窗口,所有子框架的父窗口。
更多信息可以参考
http://support.microsoft.com/kb/q129471/
jerry 2005-05-30
  • 打赏
  • 举报
回复
如果我用单文档是不是就应该m_wndMDIClient.SubclassWindow(m_hWndSDIClient);
----------------------------------------------------------------------
单文档的框架客户区就是视图. 你还子类化什么, 框架也没这个成员.
greenteanet 2005-05-30
  • 打赏
  • 举报
回复
学习..
oyljerry 2005-05-30
  • 打赏
  • 举报
回复
就是通过m_hWndMDIClient 来改变客户区窗口的背景来画的
thrXY2 2005-05-30
  • 打赏
  • 举报
回复
如果我用单文档是不是就应该m_wndMDIClient.SubclassWindow(m_hWndSDIClient);
jerry 2005-05-30
  • 打赏
  • 举报
回复
其实这些技巧比较零散的。好象也没有什么系统的介绍。 要了解它们为什么这样做,最好的办法是熟悉MFC的框架结构。有了比较深的认识,很多东西都可以通过参考MFC的源代码来做出来。
jerry 2005-05-30
  • 打赏
  • 举报
回复
m_hWndMDIClient 就是那个 框架的客户区窗口呀, 对它进行子类化,就是为了响应该窗口的 WM_PAINT 消息, 然后就可以随心所欲地画点什么了.

15,979

社区成员

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

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