摘要:
EM_LINEFROMCHAR 返回现光标的所在行EM_LINEINDEX 返回光标所在行的之前所有字符数EM_LINELENGTH 返回指定行的字符个数 阅读全文
摘要:
一、 原理介绍--流式数据的类型及其应用在Dephi中提供了TStream来支持对流式数据的操作。TStream是万流之源。但由于它是一个抽象类,故不能被直接使用;而要使用其相应的子类,如:TFileStream 、TStringStream、TMemoryStream、TBlobStream、TWinSocketStream和TOleStream。TStream提供了统一、简洁的方法来进行数据的... 阅读全文
摘要:
第一章 为什么要使用动态链接库(DLL) top 提起DLL您一定不会陌生,在Windows中有着大量的以DLL为后缀的文件,它们是保证Windows正常运行和维护升级的重要保证。(举个例子,笔者的Win95 System目录下尽有500多个DLL文件。)其实,DLL是一种特殊的可执行文件。说它特殊主要是因为一般它都不能直接运行,需要宿主程序比如*.EXE程序或其他DLL的动态调用才能够使用。简单... 阅读全文
摘要:
在Delphi项目中,通常有一个与项目名称主文件名相同的.RES文件,该文件用于保存应用程序图标等资源,对应于此文件,在项目文件中一定含有编译指示“{$R *.res}”,告诉编译器编译时需要包含与项目主文件名相同的.RES文件。同样,如果需要在应用程序中以资源形式包含任何文件类型,也可以利用.RES文件。本文将告诉你如何利用RES文件在Delphi程序内部包含文件。 一创... 阅读全文
摘要:
几乎每个 Windows 应用程序都使用图标、图片、光标等资源。资源是程序的一部分,但是它是不可执行代码。下面我们就详细介绍资源文件在 Delphi5 中建立和使用方法。 1 .把资源放到 Exe 文件的优点 由于定位资源比在磁盘中定位文件花费时间少,所以应用程序执行会更快。多种资源可以放在一个文件中,减少了图标、图片、光标等文件数量。保存资源文件时不要和工程名相同,因为 Delphi 创建工程时... 阅读全文
摘要:
Perform(): VCL的Perform()方法适用于所有的TControl派生对象。Perform()可以向任何一个窗件或控件发送消息,只需要知道窗体或控件的实例。Perform()需要传递3个参数:消息标识符,wParam和lParam。要给一个窗件或控件发送一个消息,可以参照下面的代码:RetVal = Perform(MessagID, wParam,lParam);perform是给... 阅读全文
摘要:
Perform、SendMessage 会直接发送消息到窗体过程; PostMessage 是把消息放入消息队列.因为 Application.OnMessage 只接收队列中的消息, 所以 Perform、SendMessage 发送的消息, OnMessage 收不到.{通过 ApplicationEvents1.OnMessage 接受鼠标双击窗体的消息; 可以双击窗体一试}procedur... 阅读全文
摘要:
Delphi需要自己管理对象的创建与释放坚持谁创建谁负责释放的原则。(Create and Free, New and Dispose, GetMem and FreeMem)typeTConfig = record SysName: string; DataLanguage: integer;end; PConfig = ^TConfig;var Config: PConfig; Config ... 阅读全文
摘要:
TApplication.ProcessMessages用于程序执行一个长的过程又不中断其他代码的执行(例如安装程序时响应放弃按钮),与HandleMessages的区别是如果没有发现消息,ProcessMessages方法不会把应用程序置于空闲状态.问:Delphi中 如 何 在 第 一 个 按 扭 事 件 尚 未 结 束 时 按 第 二 个 按 扭 结 束 第 一 个 按 扭 事 件? ---... 阅读全文
摘要:
文件版本信息的存在使得应用程序正确的安装文件变得简单,并且使安装程序能够分析文件的当前安装状态。通常,版本信息应该包括文件的版本号、文件功能描述以及文件作者等多项重要内容。 在应用层面上,程序员可以通过保存在应用程序文件或动态链接库文件中的版本信息判断一个文件是否应该被安装,并确定当前安装文件的冲突。在文件有了版本信息这个属性后,我们编写的程序就能够实现以下功能: 1. 避免在新版本的组件上... 阅读全文