郁金香外挂技术-郁金香灬老师

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

郁金香终身VIP管理员QQ150330575项目合作(有实力的+)视频教程+每月更新+QQ群
飞郁视频分享(每周更新)
查看: 2275|回复: 3

VC++软件界面风格简单美化

[复制链接]
发表于 2015-1-8 10:52:25 | 显示全部楼层 |阅读模式
为了让软件能在视觉上给用户带来一种清新的感觉,从而避免潜在的用户视觉疲劳和审美疲劳,软件一般都要经过专业的界面设计和美化。但是,我们不是也没有专业的界面设计美化人员,所以只能对软件的界面和风格进行初步的简单美化,主要是色调的搭配、图片、字体的简单美化处理等基本工作。
[/table]
下面结合实例,详细介绍一下之前的软件开发中所用到的两种软件界面风格简单美化的方法:
(1)采用OnCtlColor函数,对软件的界面进行简单的美化。
   采用这种方式,只能对软件界面在背景颜色、控件颜色、字体等方面做简单的美化。其主要的操作步骤如下:
   1)在相应的.h文件中添加OnCtlColor函数:
    [li]
    afx_msg
    HBRUSH
    OnCtlColor(CDC* pDC, CWnd* pWnd,
    UINT
    nCtlColor);
    [/li]
   2)在相应的.cpp文件中添加消息映射宏:
    [li]
    BEGIN_MESSAGE_MAP(CPoint11Dlg, CDialog)
    [/li][li]
    ON_WM_CTLCOLOR()
    //OnCtlColor函数的消息映射宏
    [/li][li]
    END_MESSAGE_MAP()  
    [/li]
   3)在相应的.cpp文件中编写OnCtlColor函数的实现体:
    [li]
    HBRUSH
    hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    [/li][li]
    switch
    (nCtlColor)
    [/li][li]
    {   
    [/li][li]
    case
    CTLCOLOR_STATIC:
    //静态文本
    [/li][li]
    {   
    [/li][li]
       pDC->SetBkMode(TRANSPARENT);   
    [/li][li]
       
    HBRUSH
    B = CreateSolidBrush(RGB(191,219,255));
    //控件背景颜色
    [/li][li]
       pDC->SetTextColor(RGB(0,0,0));
    //控件中的文字的颜色
    [/li][li]
       
    return
    (
    HBRUSH
    ) B;
    [/li][li]
    }         
    [/li][li]
    break
    ;
    [/li][li]
    case
    CTLCOLOR_DLG :
    //对话框背景
    [/li][li]
    {   
    [/li][li]
       pDC->SetBkMode(TRANSPARENT);   
    [/li][li]
       
    HBRUSH
    B = CreateSolidBrush(RGB(191,219,255));
    [/li][li]
       pDC->SetTextColor(RGB(0,0,0));   
    [/li][li]
       
    return
    (
    HBRUSH
    ) B;
    [/li][li]
    }        
    [/li][li]
    break
    ;
    [/li][li]
    default
    :
    [/li][li]
       
    return
    hbr;
    [/li][li]
       
    break
    ;
    [/li][li]
    }  
    [/li]
   ※需要注意的一点是:当对话框背景颜色和静态文本的背景色设置一样时,软件界面中的静态文本产生的阴影将消失,使得界面更加整洁。
(2)使用SkinMagic插件,对软件的整体界面风格进行改变和美化。
   使用这种方式,可以改变软件的整体风格,从而也改变了软件中所有细节的风格,可以达到比较好的整体美化效果。但是,使用这种方式也有它自己的缺点,那就是虽然SkinMagic插件是一个免费的插件,但是它所提供的界面风格是相当有限的,而且这其中的界面风格比较清新好看的更是少之又少。SkinMagic插件的使用步骤如下:
   1)将SkinMagicLib.h,SkinMagicTrial.lib,SkinMagicTrial.dll三个文件copy到程序目录中。
   2)将SkinMagicLib.h添加到工程的“头文件”中;在工程“属性”页的“配置属性-链接器-输入”的“附加依赖项”中输入SkinMagicTrial.lib。
   3)在stdafx.h中添加:
    [li]
    [table=100%,inherit]#include "SkinMagicLib.h"
[/li][li]
#pragma comment(lib,"SkinMagicTrial.lib")
[/li]
   4)"工程名App.cpp"或者"工程名.cpp"中的InitInstance()函数中添加:




    [li]
    VERIFY(1==InitSkinMagicLib(AfxGetInstanceHandle(),_T(
    "Demo"
    ),NULL, NULL));
    [/li][li]
    CString str;  
    [/li][li]
    str.Format(
    "%ssmf\\corona.smf"
    ,g_BasePath);
    [/li][li]
    VERIFY(1==LoadSkinFile(_T(str)));  
    [/li][li]
    SetDialogSkin(_T(
    "Dialog"
    ));
    [/li]
   5)在项目的配置属性中改为使用“使用多字节字符集”字符集,否则编译时会出现函数名无法解析的错误。


郁金香外挂教程,学习中...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

限时限量优惠

QQ|小黑屋|手机版|郁金香外挂技术-郁金香灬老师 ( 苏ICP备10059359号 )

GMT+8, 2020-6-1 03:25 , Processed in 0.041570 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表