当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 高波 马惠业 有没有想过在Windows环境下实现苹果电脑窗口界面的风格?下面就以实现苹果电脑窗口风格为例,进行一次奇妙的旅行。
 

 

 ·vc用ado接口连接和使用数据库    »显示摘要«
    摘要:天极网 李治国   一、阅读本文所需注意的其它事项:   1、进行方法调用时,所传递的参数的类型的转换(可能存在比本文更简便的处理方法但我未发现)   2、每个源文件的每行注释说明了其文件名   3、请关注相关头文件包含关系   4、请关注文中所有中文注释   5、更多的内容请参阅 "vc安装目录\include\adoint.h"文件,adoint即ac......
    摘要:如果你要做有关棋类的东东 又恰好有两张漂亮棋子的位图, 可惜两张位图是方型的,后面 有背景..在delphi里只要将 背景色设成透明就行了,可在 mfc里怎样实现把背景去掉只 显示圆形的棋子呢? 实例如下: //to invoke this function with the position bool isblack = true;//set the black stone......


在Windows95/98中实现苹果窗口界面
高波 马惠业

有没有想过在windows环境下实现苹果电脑窗口界面的风格?下面就以实现苹果电脑窗口风格为例,进行一次奇妙的旅行.   【程序编程相关:一个控制台程序中的日志产生程序(运用多线

【推荐阅读:一个控制台程序中的日志产生程序(运用多线

原 理   【扩展信息:使用Visual C++实现OLE剪贴板

仔细观察苹果窗口,发现与windows窗口的区别主要体现在标题栏与控制按钮(即最小化.恢复.关闭按钮).所以我们应该把主要精力集中在这两点上,直接对windows窗口已有的标题栏与控制按钮进行修改.  

由于标题栏与控制按钮都属于非客户区,所以关键是获得非客户区的cdc,可以通过getwindowdc()来获得.getwindowdc()可以获得整个窗口的cdc,当然也包括非客户区的cdc,得到此cdc后,确定标题条的确切位置,就可以在标题栏上为所欲为了.如图1所示,在标题栏的位置装入一幅位图(截取了苹果窗口的一幅位图),在位图上加上文字标题(此标题具有3d效果,感觉还不错吧,其实就是把相同的字用不同的颜色与坐标写了两次)与控制按钮(实际也是一幅位图,只不过在鼠标单击时显示另一幅位图,看起来就像是一个按钮),由于控制按钮是自己加的,所以要由自己负责单击按钮的处理.到此为止,虽然准备好了窗口的标题栏与按钮,但还没有机会显示.我们知道要在窗口的客户区上画东东,只需响应windows的客户区重画消息,在此消息处理函数中实现具体的操作.同理,要在非客户区上画东东,也只需响应windows的非客户区重画消息,在消息处理函数中完成标题栏与按钮的绘制.  

具体实现  

采用vc6.0在windows98下实现这种技术.  

下面以生成一个苹果界面风格的对话框为例对这种方法进行详细的阐述.  

1.用appwizard(应用程序向导)生成一个新的应用程序(sdi与mdi均可),在 resource view里面添加一个dialog资源.  

2.添加一个新的对话框类.在classwizard中选择添加新类,输入类名ctestdlg并且选取基类cdialog.这样就建立起对话框类与对话框资源之间的联系.  

3.在resource view 中加入按钮与标题栏与背景位图.  

在主菜单中的insert 菜单项下面选择resource,然后选择添加bitmap,这样你就可以在resourceview 中看到bitmap项,下面点击鼠标右键,选择import,从已有的位图文件中选出苹果风格的按钮与标题栏,并且分别赋予不同的id.  

4.在自己创建的ctestdlg类中添加新的按钮与新的标题栏.

(1)首先在ctestdlg的构造函数中装入位图资源.
...   下一页
    摘要:深圳迪瑞计算机技术有限公司 蒋宗文 ---- microsoft visualstudio98 是 一 个 功 能 强 大 的c 和c++ 程 序 开 发 环 境, 其 中 有 几 项 功 能 我( 相 信 也 是 广 大c 和c++ 程 序 员 们) 特 别 喜 欢: 彩 色 句 法 敏 感, 源 代 码 浏 览, 类 和 文 件 浏 览, 直 接 定 位 语 法 错 误 等 等. ---......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE