当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 关键字:子类化,Edit控件,日期 MFC所提供的组件已经可以完成很多功能了,但有时候我们还需要这些控件按我们自己的意图去处理。
 

 

    摘要: 拖放的默认实现是对大多数应用程序来说足够了,然而,许多应用程序要求这些标准改变这些标准的行为。本文将介绍怎么改变这些默认的步骤。另外,你可以使用这个技术来建立不支持符合文档作为drop源的应用程序。 如果你正在自定义ole拖放行为或者你已经有了一个非ole应用程序,你必须创建一个coledatasource对象来包含数据。当用户开始启动一个拖放操作的时候,你的代码应该在该对象调用dodragdr......
 ·实战静态拆分视图(一)     »显示摘要«
    摘要:该部分主要介绍一些基本概念和创建拆分视图的一般过程。mfc支持两种类型的拆分窗口:静态的和动态的。这里只探讨静态拆分,不过首先还是要熟悉一下这些概念。 静态拆分窗口的行列数在拆分窗口被创建时就设置好了,用户不能更改。但是用户可以缩放各行各列。一个静态拆分窗口最多可以包含16行16列。要找一个使用了静态拆分窗口的应用程序,只要看一下windows管理器即可。 动态拆分窗口最多可以有两行两......


子类化:增强Edit控件为日期输入控件

关键字:子类化,edit控件,日期   mfc所提供的组件已经可以完成很多功能了,但有时候我们还需要这些控件按我们自己的意图去处理.比如edit控件,虽然我们可以设置edit控件为只能接受数字属性,但如果我们还需要它可以接收数字意外的字符,比如需要控件只能接收"2004-02-20"这样的格式的日期字符呢?我们需要自己在wm_char消息里面来处理输入的字符.可是,当输入字符后,windows会向edit控件发送wm_char消息,应用程序会调用windows默认的edit控件窗口处理函数wndproc来处理该控件.这时我们需要通过子类化将该窗口对象与自己的edit类连接起来,这样,该类的的消息处理函数会替代原来的消息处理函数,窗口消息才能通过自己的类进行消息映射,并首先调用自己的类的消息处理函数,采用自己的edit类来处理wm_char消息.子类化可以通过宏ddx_control宏进行静态关联,以可以通过函数subclasswindow()或subclassdlgitem()完成.现在讲一下该日期输入框控件实现部分,程序运行如图一:图一 程序运行界面 一.要想自己定义该控件的wm_char消息处理函数,必须先先从cedit类派生出自己的新类cmyedit,这一步可以通过classwizard来完成.这个类主要完成对编辑框类的wm_char与wn_keydown消息的处理,以达到对输入格式的控制.编辑框初始时显示" - - "的时间输入格式,要求按"year-month-day"的格式输入日期.所以初始化时设置控件格式,代码如下:void cmyedit::initial() { setlimittext(10); setwindowtext(" - - "); } 二.然后是关键的消息处理函数,因为我们需要过滤字符类(包括数字与backspace键)与控制类两种击键消息(主要包括对delete的处理).当用户输入或者删除字符并更新窗口后,要保证"-"在字符串的第5与第8个位置,主要思路是在字符显示前通过添加" "来修整编辑框中的字符串,使显示时的字符串达到需要的要求.
...   下一页

 ·vc中的cstring的操作     »显示摘要«
    摘要:cstring 操作指南原著:joseph m. newcomer翻译:littleloach原文出处:asp" target="_blank">codeproject:cstring management通过阅读本文你可以学习如何有效地使用 cstring。  cstring 是一种很有用的数据类型。它们很大程度上简化了mfc中的许多操作,使得mfc在做字符串操作的时候方便了很多。不管怎样,使用......
» 本期热门文章:

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