当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 作者: 徐毅 许润涛 王宇 摘 要:本文通过详细讨论如何用VC实现对属性表按钮区的操作以改变属性页的外观,从而提供一种对Windows应用程序的非窗口客户区进行绘制的方法,并给出了一个简单的示例程序。
 

 

    摘要:作者: 梁晨宝 本工程类似于oicq的消息发送机制,不过他只能够发送简单的字符串。虽然简单,但他也是一个很好的vc网络学习例子。   本例通过vc带的socket类,重载了他的一个接受类mysock类,此类可以吧接收到的信息显示在客户区理。以下是实现过程:   建立一个mfc 单文档工程,工程名为oicq,在第四步选取windows sockets支持,其它取默认设置即可。为了简单,这里......
    摘要:作者: 广东省深圳市温卫红陈耀光 (ewardchen@21cn.com) 开发基于 windows nt/2000的程序时,程序员往往需要知道系统是否处于屏幕保护状态,然后可以根据不同的状态在程序中做出相应的处理,如改变程序运行的优先级、先执行低优先级的例行工作等,以优化系统性能。微软公司在 windows 2000操作系统中提供了 systemparametersinfo() api函......


用VC实现对属性表按钮区的位图绘制
作者: 徐毅 许润涛 王宇

摘 要:本文通过详细讨论如何用vc实现对属性表按钮区的操作以改变属性页的外观,从而提供一种对windows应用程序的非窗口客户区进行绘制的方法,并给出了一个简单的示例程序. 【程序编程相关:利用其他编译器增强Visual C++的

【推荐阅读:用树型控制展现Win95注册库

【扩展信息:在Windows95/98中实现苹果窗口

关键字:属性表类.非窗口区.位图

属性表类(cpropertysheet class)在编写windows应用程序时使用非常广泛,如编写安装向导程序.应用程序配置等很多应用程序都必须使用属性表类,但是如何实现用vc对属性表类的按钮区进行绘制却是一个比较困难的问题.因为vc的mfc类库封装了属性表类,使得其外观表现一般不容易改变.而在编写应用程序的过程中却常常遇到要在属性表的按钮区域进行绘制的问题,如在属性表按钮区加入公司的标识等等.属性表按钮区是非窗口客户区,因此要对其直接进行绘制需要采用一些特殊的处理.我们在实际编程开发过程中,对此问题进行了一些探索.下面我们通过示例说明在vc5.0环境下实现对属性页按钮区域位图绘制的方法.

1. 实现非窗口区域绘制的基本思想:

要完成对属性表按钮区域(即非窗口客户区)的操作,必须得到相关的绘图设备环境(cpaint dc),找出按钮区域的具体位置,才能够对其进行操作.为此,需要对mfc的cpropertysheet类进行继承,对其继承类的onpaint消息处理函数进行重载,在onpaint消息处理函数中,直接以当前指针为变量定义一个设备环境对象,这就是我们所需的绘图设备环境,再找出属性表类的制表控件(table control)客户区位置与属性表类的缺省按钮位置,就能够计算出按钮区域的具体位置.只要完成上述两步,对属性表按钮区的操作也就不难实现了.

2.示例程序具体实现

首先,用vc的wizard代码生成器生成一个mfc应用程序框架,在自动生成的过程中,选择应用程序是基于对话框的程序.当生成完毕后,在将自动生成的对话框类全部删除.再手动添加一个从cpropertysheet类继承的子类cpropertysheetwithlogodlg类与一个基于cdialog类的cfirstpropertypage类,同时在程序app类的initinstance方法中删除关于自动生成的对话框类的代码.
...   下一页
 ·关于注册表的源程序    »显示摘要«
    摘要:// registry.cpp #include "stdafx.h" #include "registry.h" cregistry::cregistry() { m_hkey = null; open( _hkey, m_strusekey ); } cregistry::cregistry( hkey hkey, const ......
» 本期热门文章:

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