如何改变MainFrame的背景颜色 如题,请各位高手帮帮忙。最好有实例代码,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/t/20050530/14/4045859.html http://topic.csdn.net/t/20001215/09/48763.html 在MainFrame的PreCreateWindow函数中,有一个参数为cs即为窗口类型,可以通过重新设置其中的类型参数来改变 到www.codeproject.com里面可以找到~~ http://support.microsoft.com/kb/q129471/ 下面的是我在看孙鑫的视频教材时总结的,供你参考,有什么不对的地方还请指正(在孙鑫的第九课中有详细的介绍怎样改背景)(1)如果要修改窗口的外观和大小,可以在CMainFrame中的PreCreateWindwo中作修改,此函数带有一个参数(cs),其结构成员与创建窗口时的参数一样,因此可以对应该自己想要改变的参数,由于此参数的传递是以引用的形式,因此改变之后就可以显示出来。(2) 上面的方法是在窗口创建之前修改窗口的属性,也可以在窗口创建之后来修改窗口的属性,这是需要调用函数SetWindowLong来设置。此函数不限制与改变窗口的外观属性,也可以重新设置其消息响应函数和ID号,等等。可以通过函数GetWindowLong来获取窗口的属性。(3) 由于窗口的鼠标,图标等属性是在创建窗口类型和注册窗口类型的时候指定的。不同于Win32编程,它是由MFC内部实现的,我们不应该去改变实现的代码,但是我们可以在窗口创建之前,自己来创建一个窗口类型并注册它,从而屏蔽掉MFC的内部实现。与Win32中的一样,我们需要设置窗口类型的每一个属性。其中的应用程序的实例句柄hInstance可以通过一个全局函数AfxGetInstanceHandle来获得。对于窗口过程函数,当不需要改变时,可以设置为系统缺省的::DefWindowProc,由于菜单的创建是在之后的InitialInstance函数中通过关联菜单资源创建的。因此,在此设置为NULL并没有什么影响。在最后注册完窗口之后,还需要通过将窗口的类型(style)设置成为我们自己创建的窗口类型名称才能够生效。(注意:以上的一些操作都需要在CMainFrame的PreCreateWindow函数中完成),由于窗口的背景和窗口的鼠标都是属于View类的,而窗口的图标是属于框架类的。因此,以上的步骤只能够改变窗口的图标(以上步骤是在框类中实现的),而不能够改变窗口的背景和鼠标图形,这需要在View类的PreCreateWindow中再注册一次我们刚刚创建的窗口类型。4) 另外的一种很方便的方法是使用全局函数AfxRegisterWndClass,他返回的是一个窗口类型的名称,将其赋值给cs的lpszClass变量即可。注意:此函数同上面的一样,要在MainFrame和View的PreCreateWindow函数中使用。并且由于相同的原因,应该在MainFrame中改窗口的风格和图标,而在View中改变鼠标的形状和窗口的背景颜色。(5) 除此之外,我们也可以在窗口创建完毕之后来改变窗口的外观。可以在MainFrame和View中的OnCreate函数中调用函数SetClassLong同上面一样,不同资源的修改应该在不同的文件的OnCreate中实现。 在OnDraw 中随便绘制一下就好了 opengl离屏渲染之后获得像素值 VB中的“ Set Option2.Container = Frame1” 在VC 如何表达? IE 开发 关于asp.net的问题 在线等,跪求COM本质论的配套原码! 向各位高手请教一个关于可视化的问题。。。谢谢了 如何在Access中输入长的字符串,请求各位,谢谢。 我写了一个简单的browser,想在一个打开的html网页里,实现自动点击提交按钮(就form里的submit)的功能!? 怎样复制,粘贴,剪切图元???? 一个Windows消息控制台的开发 有人愿意分享LiveUpdate经验吗? 高手 来看看帮忙解决一个问题我刚学
(1)如果要修改窗口的外观和大小,可以在CMainFrame中的PreCreateWindwo中作修改,此函数带有一个参数(cs),其结构成员与创建窗口时的参数一样,因此可以对应该自己想要改变的参数,由于此参数的传递是以引用的形式,因此改变之后就可以显示出来。(2) 上面的方法是在窗口创建之前修改窗口的属性,也可以在窗口创建之后来修改窗口的属性,这是需要调用函数SetWindowLong来设置。此函数不限制与改变窗口的外观属性,也可以重新设置其消息响应函数和ID号,等等。可以通过函数GetWindowLong来获取窗口的属性。(3) 由于窗口的鼠标,图标等属性是在创建窗口类型和注册窗口类型的时候指定的。不同于Win32编程,它是由MFC内部实现的,我们不应该去改变实现的代码,但是我们可以在窗口创建之前,自己来创建一个窗口类型并注册它,从而屏蔽掉MFC的内部实现。与Win32中的一样,我们需要设置窗口类型的每一个属性。其中的应用程序的实例句柄hInstance可以通过一个全局函数AfxGetInstanceHandle来获得。对于窗口过程函数,当不需要改变时,可以设置为系统缺省的::DefWindowProc,由于菜单的创建是在之后的InitialInstance函数中通过关联菜单资源创建的。因此,在此设置为NULL并没有什么影响。在最后注册完窗口之后,还需要通过将窗口的类型(style)设置成为我们自己创建的窗口类型名称才能够生效。(注意:以上的一些操作都需要在CMainFrame的PreCreateWindow函数中完成),由于窗口的背景和窗口的鼠标都是属于View类的,而窗口的图标是属于框架类的。因此,以上的步骤只能够改变窗口的图标(以上步骤是在框类中实现的),而不能够改变窗口的背景和鼠标图形,这需要在View类的PreCreateWindow中再注册一次我们刚刚创建的窗口类型。4) 另外的一种很方便的方法是使用全局函数AfxRegisterWndClass,他返回的是一个窗口类型的名称,将其赋值给cs的lpszClass变量即可。注意:此函数同上面的一样,要在MainFrame和View的PreCreateWindow函数中使用。并且由于相同的原因,应该在MainFrame中改窗口的风格和图标,而在View中改变鼠标的形状和窗口的背景颜色。(5) 除此之外,我们也可以在窗口创建完毕之后来改变窗口的外观。可以在MainFrame和View中的OnCreate函数中调用函数SetClassLong同上面一样,不同资源的修改应该在不同的文件的OnCreate中实现。