DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
上一页 1 ··· 382 383 384 385 386 387 388 389 390 ··· 474 下一页

2013年11月28日

摘要: 资源档有什麽用处呢?最重要的有两个地方1.国际发行:我们将Application中所有的文字从Resource用读取,那麽,只要更动 Resource档的内容,就可以用不同语言的方式来显示。2.管理资源:例如说,我们的AP中用了数百张的图片或声音,不用Resource档的话, 在发行出去的AP中,就必需有数百个图形、声音档,那似乎不太好,使 用Resource档,便可以将这些图形、声音放进一个.Res档。使用RC.exe来Compiler我们所定义的Resource档, RC.EXE在vb5.0光碟中的/TOOLS/RESOURCEResources 可分成两大部份:- String reso 阅读全文
posted @ 2013-11-28 09:38 DoubleLi 阅读(1193) 评论(0) 推荐(0)

摘要: MS Windows操作系统是一个世界上广泛使用的操作系统,对于不同语种的国家MS Windows有相应语种的版本。在不同语种的Windows平台上应该运行相应语种的应用程序。也就是说程序的用户界面(如菜单、对话框、状态条)中的提示文字应该使用和Windows操作系统所使用的语种一致。当然英语用户界面的程序可以运行在其它语言平台上,但比较复杂的程序或多或少都有问题,如对话框的尺寸不对,特殊的ASCII字符显示为文字,输入字符串可能会导致死机等。如果不一致却还想使用,则需要动态翻译软件。例如,在英文Windows平台上运行中文版的MS Office就需要像中文之星或四通利方这样的中文动态翻译软件 阅读全文
posted @ 2013-11-28 09:37 DoubleLi 阅读(933) 评论(0) 推荐(0)

摘要: DDX/DDV 通过使用ClassWizard向对话类添加成员变量,你可以利用ClassWizard所提供的高效特征,为对话数据交换和对话数据验证自动生成源代码,也就是人们所熟知的DDX/DDV。 数据交换和验证仅仅应用于为之选定了Value类别的成员变量。也就是CString,BOOL,数字,COleDateTime或COLeCurrency。 对话数据交换负责数据在控件中的进出。当对话首次出现的时候,每个控件窗口自动用相应的成员变量的值进行初始化。当用户通过单击OK按钮,或通过按Enter键关闭对话的时候,该控件无论是包含哪一个值或文本,都将被复制回该变量。 对话数据验证可以确保值落在规定 阅读全文
posted @ 2013-11-28 09:36 DoubleLi 阅读(3410) 评论(0) 推荐(0)

摘要: 在Windows应用程序中,窗体是由一种称为“UI线程(User Interface Thread)”的特殊类型的线程创建的。 首先,UI线程是一种“线程”,所以它具有一个线程应该具有的所有特征,比如有一个线程函数和一个线程ID。 其次,“UI线程”又是“特殊”的,这是因为UI线程的线程函数中会创建一种特殊的对象——窗体,同时,还一并负责创建窗体上的各种控件。 窗体和控件大家都很熟悉了,这些对象具有接收用户操作的功能,它们是用户使用整个应用程序的媒介,没有这样一个媒介,用户就无法控制整个应用程序的运行和停止,往往也无法直接看到程序的运行过程和最终结果。 那么,窗体和控件又是如何作到对用... 阅读全文
posted @ 2013-11-28 09:35 DoubleLi 阅读(1537) 评论(0) 推荐(0)

摘要: 说到消息,在MFC中,“最熟悉的神秘”可算是消息映射,那是我们刚开始接触MFC时就要面对的东西。有过SDK编程经验的朋友转到MFC编程的时候,一下子觉得什么都变了样。特别是窗口消息及对消息的处理跟以前相比,更是风马牛不相及的。如文档不是窗口,是怎样响应命令消息的呢?初次用MFC编程,我们只会用MFC ClassWizard为我们做大量的东西,最主要的是添加消息响应。记忆中,如果是自已添加消息响应,我们应何等的小心翼翼,对BEGIN_MESSAGE_MAP()……END_MESSAGE_MAP()更要奉若神灵。它就是一个魔盒子,把我们的咒语放入恰当的地方,就会发生神奇的力量,放错了,自己的程序就 阅读全文
posted @ 2013-11-28 09:29 DoubleLi 阅读(499) 评论(0) 推荐(0)

摘要: //////////////////////////////////////////////////////////////////////////////////// /********* 文章系列:MFC技术内幕系列***********/ /************MFC技术内幕系列之(四)***********/ /*****文章题目:MFC消息映射与消息传递内幕******/ /* All rights Reserved */ / *********关键字:消息映射,消息传递************/ /* 注释:本文所涉及的程序源代码均在Microsoft */ / Visual. 阅读全文
posted @ 2013-11-28 09:28 DoubleLi 阅读(601) 评论(0) 推荐(0)

摘要: 在上一课的表5.1已经列出了Windows的传统控件及其对应的控件类。在这些控件中,读者应该重点掌握命令按钮、选择框、单选按钮、编辑框、列表框和组合框。.1.1 传统控件的控件通知消息 控件通过向父窗口发送控件通知消息来表明发生了某种事件.例如,当用户在按钮上单击鼠标时,按钮控件会向父窗口发送BN_CLICKED消息.传统控件的通知消息实际上是通过WM_COMMAND消息发给父窗口的(滚动条除外),在该消息的wParam中含有通知消息码(如BN_CLICKED)和控件的ID,在lParam中则包含了控件的句柄. 利用ClassWizard可以很容易地为控件通知消息加入消息映射和消息处理函... 阅读全文
posted @ 2013-11-28 09:27 DoubleLi 阅读(1166) 评论(0) 推荐(0)

摘要: 详细说明:Visual c++例子,可不使用常规的对话框资源模板的情况下,动态创建对话框的方法。该方法可以在运行时在内存中直接建立对话框资源,使用起来更为灵活。适用于多个开发项目共享有界面的公用程序模块的情况,也适用于编写需要显示大量对话框或对话框风格随着用户输入不断变化的应用程序。下载地址1:http://files.cnblogs.com/lidabo/CDynamicDialogWithoutTemplate.rar下载地址2:http://www.pudn.com/downloads65/sourcecode/windows/dialog/detail233221.html 阅读全文
posted @ 2013-11-28 09:23 DoubleLi 阅读(774) 评论(0) 推荐(0)

摘要: 在MFC程序中使用对话框时首先在资源模版里创建对话框资源,然后DoModal()或者CReate显示出模式对话框或者非模式对话框,这样创建出的对话框移植性差,从一个工程移动到另一个工程比较麻烦。 在MFC中还有另一种创建对话框的方法:1 在内存中建立对话框资源模版DLGTEMPLATE结构体。2 使用InitModalIndirect API函数即可创建模式对话框,非模式对话框使用CreateDialog API函数创建。代码如下:// 创建内存对话框资源模版类,H文件#pragma once#define DLG_TEMPLATE_BUFFER_MAX_LENGT1024class CDlg 阅读全文
posted @ 2013-11-28 09:15 DoubleLi 阅读(2029) 评论(0) 推荐(2)

摘要: DDB(Device-dependent bitmap)依赖于具体设备,这主要体现在以下两个方面:DDB的颜色模式必需与输出设备相一致。例如,如果当前的显示设备是256色模式,那么DDB必然也是256色的,即一个像素用一个字节表示。在256色以下的位图中存储的像素值是系统调色板的索引,其颜色依赖于系统调色板。 由于DDB高度依赖输出设备,所以DDB只能存在于内存中,它要么在视频内存中,要么在系统内存中。 11.3.1 DDB的创建MFC的CBitmap类封装了DDB。该类提供了几个函数用来创建DDB:BOOL LoadBitmap( LPCTSTR lpszResourceName );BOO 阅读全文
posted @ 2013-11-28 09:10 DoubleLi 阅读(4561) 评论(0) 推荐(0)

上一页 1 ··· 382 383 384 385 386 387 388 389 390 ··· 474 下一页