zoukankan      html  css  js  c++  java
  • 界面开发概述

     每个软件都要有自己的软件界面,对于软件开发来说,软件界面不一定是最重要的,但是也是相当重要的。一款软件要是可以在界面上做好,吸引了客户的眼球,那这款软件也就相对成功了一半。

          现在各行各业的软件都添加了自己的皮肤色彩,显示出了不同的特点。例如QQ,MSN,Foxmail等等,这些软件都修改了自己软件的界面,将自己的界面化做的很完善,很漂亮。使用起来感觉很舒服。我也是一个做软件的,于是也打算将自己的软件做的像那些软件产品一样漂亮,于是乎在网上寻求自己软件界面的解决方案。当然很多很多。下面列举几个:

          一、使用皮肤组件(IrisSkin2.dll)

          这个是东日软件公司开发的一套软件界面。IrisSkin 是为Microsoft Visual Studio.NET开发的最易用的界面增强.NET(WinForm)组件包。它能完全自动的为您的应用程序添加支持换肤功能,甚至不需要更改您的设计好的Form以及添加一行代码!您也不再需要花费很多时间来使得自己的应用程序更漂亮。当然他是收费的,但是网上很多具有破解版,当然我也下载了一套,使用起来相当的方便。

          下载地址:/Files/zhjp11/皮肤/Irisskin.rar

          二、自定义开发

          这个就比较难了,要了解很多关于Windows开发的内容,其中有两种做法,一种就是使用自定义的皮肤Form和Button等所有的空间,继承.net Framework提供的控件中自己使用的大部分,然后扩展其中的WndProc方法或者其他的一些方法,这是市最普遍的一种方式。另外就是使用IrisSkin的方法,使用NativeWindow这个底层的类,进行Hook编程。主要的例子如下:

          1、苏飞的博客:

          http://www.fengfly.com/plus/view-171819-1.html

          2、CsharpWin中的皮肤

          http://www.fengfly.com/plus/view-171862-1.html

          这两个写的都非常好,让我受益匪浅。

          总结了以上的皮肤开发,我了解的到,所谓的皮肤开发无非就是使用了图片、颜色等内容将窗体进行了重绘或者就是覆盖,也就是重载了WndProc中的 Paint,NCPaint等等操作。对于Winform来说,一个窗体主要分为两块,即Non Client Area和Client Area,如下图:

          简单的说就是对Client Area和Non Client Area的绘制。而Form中的WndProc的Paint,NCPaint就是完成这样的操作。

         3、我的实现方式。

         我的实现方式主要研究了苏飞和CshaorpWindow的两个程序,还有就是查看了IrisSkin的反编译源代码,我觉得实现的方式还是使用IrisSkin的方式比较好,IrisSkin的实现是使用了本地的一个简单的类NativeWindow,这是是一个可以实现简单的窗体等的注册,也就是Hook。我按照了这种方法,写了一个简单的程序。基本上可以实现IrisSkin的内容,使用的方式和IrisSkin的使用方式一样,都是在窗体中添加一个SkinEngine的 Component,这样窗体就会显示了Office2007的样式,如下图所示:

        

          现在主要实现了在窗体上的Label可以显示为皮肤的颜色,但是对于对话框中的颜色还没有进行处理。还需要很多的处理,包括皮肤的设计和窗体中各个控件的设计。我会将在后续专题中写相关的内容。
          源码如下:SkinEngines2010-03-17.rar


    原文来自:雨枫技术教程网 http://www.fengfly.com
    原文网址:http://www.fengfly.com/plus/view-171863-1.html

  • 相关阅读:
    第二阶段小组站立会议-4-26
    小组站立会议-2014-04-25张永组
    第二阶段小组站立会议-2014-04-24
    小组站立会议-张永组-4-23
    第二阶段会议-阶段目标-张永组
    小组项目第二阶段会议--2014420
    团队下阶段任务分配会议记录-张永组
    Floaty Fish(内测版)发布前一天-------张永组
    电梯调度设计之初感想——蔡迎盈&&曹玉松
    单元测试——我的认识
  • 原文地址:https://www.cnblogs.com/jinsedemaitian/p/5589118.html
Copyright © 2011-2022 走看看