MFC编程:窗口的更改

学习MFC已有一段时间了,其中大大小小也碰到了不少问题,但也通过搜索或者问人得到了解决..现在想将其中的一些问题和解决办法写出来,一方面与碰到相同问题

的朋友共享一下,另一方面加强一下印象..嘻嘻...

今天说一下程序界面的更改..

一.修改窗口大小,位置和类型:

  找到应用程序主框架类(CMainFrame)中的PreCreatWindow()函数,它有一个CREATESTRUCT 类型的cs参数,就是通过修改这个参数达到我们的目的的..

  1.修改窗口标题:cs.lpszName="Hello World",重新编译一下发现标题并没有改变,后来发现原来的窗口具有 FWS_ADDTOTITLE 这个类型,它会用文档的标题

  替换框架的标题,要去掉这个,cs.style&=~(FWS_ADDTOTITLE);或者重新定义cs.style;

 

  2.修改窗口类型:通过修改cs.style来达到目的,它有很多值,以WS(window style)开头,如WS_SYSMENU,WS_MINIMIZE,具体的可以查阅MSDN,各种类型可以通过

  "|"运算组合,如果要设计一个固定大小的窗口(如一个棋类的窗口,大小是不能改变的)只要不带WS_MAXIMIZEBOX(最大化按钮),和WS_THICKFRAME(调整窗口大小)

  这两个值即可,没事的时候自己可以多组合一下看看效果..

 

  3.修改窗口大小:这个最简单,只要修改cs的cx,cy,x,y即可,其中cx,cy是用来调整窗口宽和高,x,y是用来设置窗口左上角的坐标的..

 

二.修改标题栏图标和应用程序的图标:

   1.应用程序的图标:不少网友都提供了不同方法,但我觉得最简单有效的方法是将你准备的新ICO,如1.ico,复制到res文件夹中,再用记事本打xxx.rc文件,找到其中图标资源定义的地方,(类似IDR_MAINFRAME           ICON    DISCARDABLE     "res//ee.ico")将ID号为

IDR_MAINFRAME的资源路径改为res//1.ico,再重新编译,到DEBUB文件夹下看一下,OK了..

   

   2.标题栏图标的更改:这里要用到一个函数SetClassLong(),(该函数用来更改窗口的背景,Ico,Cursor等..大家可以到MSDN中查看详细说明), 导入一个ICON,ID设为IDI_ICON1,再给CmainFrame类添加WM_CREATE消息响应函数,在其中添加代码:

HICON hicon1=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1));

SetClassLong(m_hWnd,GCL_HICON,long(hicon1));

重新编译,OK;

说明:AfxGetInstanceHandle()函数用以得到相前实例的句柄,MAKEINTRESOURCE用以资源号转换为地址,这样才能符合要求;

      

:笔者也是新手,如有哪些不对的地方还请各位大虾们指出..

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值