Chinaunix首页 | 论坛 | 博客
  • 博客访问: 735488
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:40:39

    一、统一风格漂亮界面设计的理论与实现

    a.窗口和对话框

    操作系中窗口和对话框在我们看来是一样的,就是一个四边形,有标题栏、系统按钮,边框等,可移动和可变大小。实际上窗口和对话框是有的区别的。在创建对话框窗口时的工作中要发生两个主要过程:对话框的过程和其窗口过程。Win32 SDK对话框使用了系统提供的对话框窗口的窗口过程和对话框过程,对话框过程将被窗口过程调用。在MFC下,所有的窗口类都使用了同一个窗口过程,对话框类也一样。MFC对话框过程只处理WM_INITDIALOG消息,其余都让窗口过程处理,我们只能在函数OnInitDialog()中有唯一机会处理我们的对话框的初始化工作。因而我们设计界面时要在窗口过程处理中相关消息实现我们的界面。

    b. 几个有关对话框窗口消息的处理

    1.WM_NCPAINT:重画非客户区消息

    重载此消函数,可以标题栏上为所欲为。

    2. WM_NCLBUTTONDOWN:在非客户区上按下鼠标左键消息

    要想在标题栏相应鼠标左键,可重载此消函数

    3.WM_NCMOUSEMOVE:在非客户区上移动鼠标会产生此消息

    4.WM_SIZE:在窗口改变大小后产生此消息。

    为了使软件更专业,调整对放框大小时,里面的各控件也应合理调整位置和大小,

    重载此消函数可实现目的。还有很几个,其它的不介绍了。

    c. 统一的界面风格实现

    如何运用上述知识请参考我的前一文《让你的软件界面更漂亮(一)》中有介绍并有源程序。漂亮界面的统一风格是如何实现的将是本文要讨论主要内容。

    我们知道操作系统窗口风格基本上是一致的,微软的应用软件程序也和操作系统风格基本是统一的。所以使我们的CDialog 也跟其一样,要改变它的界面风格很困难。除非你对MFC了如指掌,甚至要了解操作系统内核。本人在摸索过程中经过无数次碰壁后,终于找到了希望。

    请看下面两幅图:

图二

[1]  

【责编:huangchunmei】

--------------------next---------------------

阅读(337) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~