- 博客(51)
- 资源 (10)
- 收藏
- 关注
原创 2006-4-29——用 HookMainWindow 来截获消息
截获应用程序的另一个方法是用 application.HookMainwindow 的方法来截获,这个同样不也不能截获 sendMessage 中的消息它的原理是把自定义的消息处理过程插入到 application.WndProc 方法前,这样就可以对消息进行处理了application 的 HookMainWindow 的定义为procedure TApplication.H
2006-04-29 15:55:00 1620
原创 窗体的子类化
子类化的学习去年就看了看子类化,但当前的水平很低,许多的东西还不明白,今天又看了看子类化,有了一个大概的了解所谓的子类化,是指用自己的一个消息处理过程去替换指定的窗体的消息处理过程,当处理的消息不符合要求时,要用原来的消息处理过程继续处理其中 application 有一个 OnMessage 的消息处理过程定义为 TMessageEvent = procedure (v
2006-04-29 15:09:00 1016
原创 消息_API —— 访问其它程序中的控件
2006-4-28今天用到了 EnableWindow 这个 api 函数,该函数的目的是把窗体或控件的 Enable (允许)状态改变函数原形:BOOL EnableWindow( HWND hWnd, // handle to window BOOL bEnable // flag for enabling or disabling input );其中hW
2006-04-28 13:54:00 1155
转载 delphi下实现控制其它窗体中的控件
首先申明:我是菜鸟,我只不过想把困绕了我很长时间的问题的解决方案发表出来,免得以后我又忘记,同时给还不知道这些小知识的同僚一些帮助。各位不要笑我的浅薄。同时为了表示我的低级,我会很罗嗦的讲一些基本的东西,这些都是我的理解,很不准确。用我的方法来控制其他程序窗体上的窗口控件,必须先了解什么是回调函数。我的理解是这样的:回调函数写出来不是自己的程序去调用的,反而是让其他的东西去调用,比如windows
2006-04-28 10:53:00 1522
原创 dll 中传递 adoConnection 的例子
前几天看以别人用 dll 来传 DataBase 的连接 , 我想试试能不能用 dll 来传 Adoconnection 呢?发现 Adoconnection 没有 handle 这个属性,这怎么传呀?上网问了问也没有问出什么来,也就这样放着,今天上网看了一个网友问同样一个问题,嗯,刚好看到一篇有关 dll 中传对象的文章,又找出来 看了看,呵呵,正好是关于怎么传 adoconnec
2006-04-24 17:38:00 1371
原创 从数据库中读数据建立菜单
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, DB, ADODB, StdCtrls;type PMenuRecord = ^TMenuRecord; TMenuRecord = Record
2006-04-21 17:15:00 1066
转载 美化你的菜单
美化你的菜单TechnoFantasy www.applevb.com Windows下的很多程序都有十分漂亮的菜单,例如Windows“开始”菜单左方从上到下的长条形的Windows Banner 又或者是向Word那样在每一个菜单条左边都有一个小图标,看到这些很Cool的菜单,你是否觉得自己的菜单显得单调乏味呢?不需要第三方控件,利用Delphi就可以实现上面的功能。 如果要
2006-04-21 17:13:00 996
转载 用 VC5 控制 Windows 任务栏图标
用 VC5 控制 Windows 任务栏图标 通过在Windows任务栏中设置图标,我们可以有效控制系统和程序中最常用功能,使用户实时观察应用程序的工作状态。Windows 95、98中已经有设备状态、系统时钟、计划任务以及中文输入法程序等,其他应用程序中也有,如调制解调器通信状态、后台打印任务的执行状态、解霸五中的VCD自动侦测状态、屏幕抓图程序的控制状态以及其他后台任务
2006-04-21 13:47:00 1681
原创 使用 INSERT 添加行
使用 INSERT 添加行INSERT 语句可给表添加一个或多个新行。INSERT 语句在简单的情况下有如下形式:INSERT [INTO] table_or_view [(column_list)] data_values此语句将使 data_values 作为一行或者多行插入已命名的表或视图中。column_list 是由逗号分隔的列名列表,用来指定为其提供数据的列。如果没有指定 co
2006-04-21 13:44:00 2561 2
原创 列出数据库中所有的表名
select name from sysobjects where type=uselect count(*) from sysobjects where id = object_id(数据库名.Owner.表名) OBJECT_ID返回数据库对象标识号。语法OBJECT_ID ( object )参数object要使用的对象。object 的数据类型为
2006-04-21 13:44:00 3096
原创 我的一个时钟控件源代码
unit ddgclock;interface uses windows,classes,sysutils,extctrls,messages,controls,forms; type TTimerEvent = Procedure (Sender:TObject;DDGTime:TdateTime) of object; TddgdigitalClock=clas
2006-04-21 13:42:00 1016
原创 ShGetFileInfo 来分别取得程序的大小图标
利用了 shellapi 中的 TShFileInfo 以及 ShGetFileInfo 来分别取得程序的大小图标unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type
2006-04-18 17:47:00 1895
原创 extractIcon取得应用程序的图标
procedure GetExeIcon(FileName:string);var icon:Ticon;begin icon := TIcon.create; try icon.handle := extractIcon(hInstance,pchar(FileName),0); finally icon.free; end;end;附 ExtarctIcon 的联机
2006-04-18 17:45:00 2527
转载 40个网页常用小技巧
下面是javascript的40个网页常用小技巧,对网站开发人员相信会有帮助。1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键no 可用于Table2. 取消选取、防止复制3. onpaste="return false" 不准粘贴4. oncopy="return false;" oncut="return
2006-04-18 17:44:00 874
原创 创建一个链接的服务器 - sp_addlinkedserver
sp_addlinkedserver创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft? SQL Server?,则可执行远程存储过程。语法sp_addlinkedserver [ @server = ] server
2006-04-14 11:57:00 1842
原创 DBGrid 中的数据导出到文本文件
function DBGridToTxt(aDBGrid:TDBGrid;isTitle:boolean):boolean;var s:string; FileName:string; sTemp:TSTrings; i : integer; j : integer; SFD:TSaveDialog; RecNo:integer;begin SFD:=TSaveDialog.C
2006-04-14 11:51:00 1129
原创 远程数据所需的全部连接信息
OPENROWSET包含访问 OLE DB 数据源中的远程数据所需的全部连接信息。当访问链接服务器中的表时,这种方法是一种替代方法,并且是一种使用 OLE DB 连接并访问远程数据的一次性的、特殊的方法。可以在查询的 FROM 子句中像引用表名那样引用 OPENROWSET 函数。依据 OLE DB 提供程序的能力,还可以将 OPENROWSET 函数引用为 INSERT、UPDATE 或 DEL
2006-04-14 11:51:00 1069 1
原创 DBGrid 使用大全
在 Delphi 语言的数据库编程中,DBGrid 是显示数据的主要手段之一。但是 DBGrid 缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化DBGrid 外观的目的。通过编程,我们可以改变 DBGrid 的表头、网格、网格线的前景色和背景色,以及相关的字体的大小和风格。 以下的示例程序演示了对 DBGrid 各属性的设置,使 Delphi 显示的表格就
2006-04-13 17:10:00 3757
原创 我用消息来处理 Dbgrid 鼠标中轮滚动消息的总结
以前看到别人做过这样一个功能:1。用 DbGrid 来显示数据,数据很多,当我滚动鼠标中轮时,数据不是向下滚动,而是水平方向上滚动,当时感到很奇怪,这是怎么实现的呢?2。还有就是Dbgrid 不支持滚动中轮时,记录也滚动,而别人也做出这个来了,这是怎么实现的呢?我一直带着这两个问题,但总没有时间解决,有一天在大富翁上看到了一篇 DBGrid 使用大全 里讲到如何实现我的第二个问题(可能也讲到了
2006-04-13 17:09:00 1850 2
原创 用消息来处理鼠标中轮滚动时水平滚动条移动 --别人对我的帮助
问题:150 分求一段消息代码,熟悉消息处理的高手请进(用消息来处理鼠标中轮滚动时水平滚动条移动) ( 积分:150, 回复:12, 阅读:92 )分类:IDE/使用技巧 ( 版主:luyear, menxin ) 来自:qi_jianzhou, 时间:2006-4-12
2006-04-13 17:06:00 1980 1
原创 FindVCLWindow 函数
今天网友给了一段代码,发现里面有个 FindVclWindow 的方法,查了查 delphi的帮助Returns the windowed control, if any, at the specified location.UnitControlsCategorymouse handling utilitiesfunction FindVCLWindow(const Po
2006-04-12 16:11:00 1293
转载 Delphi对XML的支持TXMLDocument类-3
2.5 缩简句法这是一些使用缩简句法的地址路径例子:para 选择上下文节点的 para 元素孩子* 选择上下文节点的所有的元素孩子text() 选择上下文节点的所有的正文节点孩子@name 选择上下文节点的 name 属性@* 选择上下文节点的所有的属性para[1] 选择上下文节点的第一个 para 孩子para[last()] 选择上下文节点的最后一个 para
2006-04-12 15:19:00 1507
转载 Delphi对XML的支持TXMLDocument类-1
Delphi 对XML的支持---TXMLDocument类 Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写。可以利用TXMLDocument把XML文档读到内存中,从而可以进行编辑、保存操作。TXMLDocument类是通过DOM(文档对象模型)接口来访问XML文档中的各个元素的。对于DOM接口的实现有多种方式,Delphi支持
2006-04-12 15:18:00 2005 1
转载 Delphi对XML的支持TXMLDocument类-2
看完了基础知识,下面就实践以下吧本实例应用了MS的MSXML2_TLB,请自行查找下载//用于读写XML的最简单的单元unit XMLPurserUnit;interfaceuses SysUtils, Classes, Windows, ActiveX, MSXML2_TLB;type //本例子通过DOM方式演示XML文件的读写过程 TDOMXMLpurser=cla
2006-04-12 15:18:00 1526
转载 关于oracle的问题做了大量的补充
1. Oracle安裝完成后的初始口令? internal/oracle sys/change_on_install system/manager scott/tiger sysman/oem_temp 2. ORACLE9IAS WEB CACHE的初始默认用户和密码?administrator/administrator 3. oracle 8.
2006-04-12 13:17:00 1735
转载 VCL分析方法
最近一段时间似乎流行源码分析:)我也来谈谈在过去一段时间里对VCL源码的分析方法方面的一点体会,本文将不探讨VCL类库的构架和设计模式方面的东本,只是以我们常见的控件属性/方法的实现过程作简单的说明,希望对初学者有所帮助VCL分析方法例:TButton.Caption属性的由来(本文仅以此献给DELPHI初学者) 用过一段时间DELPHI的朋友,都会对VCL源码感兴趣。本人也常常在各大论
2006-04-12 13:17:00 820
转载 TControl.wndProc中文注释
TObject是基类,所以我们先看一下TObject的DISPATCH方法。Dispatch根据传入的message来寻找相应的消息处理方法,如果找不到的话,就继续向上到父类的消息处理方法表中寻找响应的处理方法,一直到找到为止,如果找到顶还没有,则调用DefaultHandle来处理该消息。message可以是任何的类型,Dispatch假设message的头两位是消息的ID,它就是根据ID来寻找
2006-04-12 13:16:00 783
转载 深入消息机制
Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。 什么是消息? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一
2006-04-12 11:11:00 1012
转载 什么是句柄
句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。 从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个
2006-04-11 11:12:00 1031
转载 Windows编程参考--消息
Windows编程参考--消息消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是
2006-04-10 17:02:00 991 1
原创 delphi 帮助里的 RoundTo 的帮助
Rounds a floating-point value to a specified digit or power of ten using 揃anker抯 rounding?UnitMathCategoryArithmetic routinestype TRoundToRange = -37..37;function RoundTo(const AValue: Doubl
2006-04-10 16:46:00 1644
原创 自定义组件注册的问题
我按照 d5 开发人员指南上的例子写了一个组件,但无法注册到面板上注册时没有任何的错误,但就是不能注册到面板上先看没有改前的程序unit HalfM; interfaceuses classes,windows,extctrls,sysutils,Controls; type TTimeEvent = procedure (Sender:TObject;theTime
2006-04-10 16:26:00 770
转载 讨人喜欢的26个原则,让你的人际关系更上一层楼
1.长相不令人讨厌,如果长得不好,就让自己有才气;如果才气也没有,那就总是微笑。 2.气质是关键。如果时尚学不好,宁愿纯朴。 3.与人握手时,可多握一会儿。真诚是宝。 4.不必什么都用“我”做主语。 5.不要向朋友借钱。 6.不要“逼”客人看你的家庭相册。 7.与人打“的”时,请抢先坐在司机旁。 8.坚持在背后说
2006-04-10 12:34:00 662
原创 关于 TSpsistent中 Assign方法及 AssignTo方法的说明
前几天做试着做了一个很简单的控件(是按 d5 开发人员指南来做的)这个控件用到了一个从 TPersistent 继承下来的类type TSomeObject = class(TPersistent) private FProp1:integer; FProp2:string; public procedure Assign(source:TPe
2006-04-10 11:38:00 2595 1
原创 Ms Sql 触发器之 ------ 简单更新 Insert 中的记录
一直想学学 sql 里的触发器的使用,今天用触发器做了一个很简单的例子就是每 insert 一条记录就以这条记录的某个字段的值去 update 这条记录另外一个字段的值CREATE TRIGGER tempTrig ON [dbo].[FocDeliveryDetail] after INSERT -- 这个 after 是指在 insert 操作完成后再触发下面的 sql语句AS
2006-04-10 10:46:00 10332 2
原创 用存储过程自动建表(表名不限)
一个网友想做一个每新建一个用户就为该用户建一张表的例子。我就为他写下了下面的过程及如何调用存储过程的方法以供参考 CREATE PROCEDURE autoCreateTable @tableName char(10) ASexec( create table +@tableName+ ( ID int identity(1,1)
2006-04-10 09:21:00 1370
转载 将数字四舍五入保留两位小数
评论:将数字四舍五入保留两位小数 aket 6799 2004-7-15 0:46:18 将数字四舍五入保留两位小数不需要这么复杂,用下面这个就可以。直接使用RoundTo函数,需要uses中加入math。RoundTo(1.245, -2); = 1.25需要注意的是,旧的Delphi版本Round函数采用的是四舍六入,逢五的时候是前面是奇数才入,是偶数则不入,delphi手册帮助中的
2006-04-07 15:36:00 13572 1
原创 用RTTI 来改变控件的值
给panel设字体procedure setPropIsExist(acomponent:Tcomponent;name:string;Avalue:tobject);var typeinfo:PPropInfo;begin typeInfo := getPropInfo(acomponent,name); if typeinfo begin if typeinfo^.PropTy
2006-04-06 15:36:00 839
转载 《COM 原理与应用》
《COM 原理与应用》学习笔记 - 第一部分 COM原理savetime2k@yahoo.comhttp://savetime.delphibbs.com开始时间:2004.1.30最后修改:2004.2.1本文排版格式为: 正文由窗口自动换行;所有代码以 80 字符为边界;中英文字符以空格符分隔。(本文内容基本上是从《COM 原理与应用》书中摘录,版权由作者潘爱民所有,请勿在公共媒体使用)
2006-04-06 15:10:00 1188
转载 format函数的使用
function Format(const Format: string; const Args: array of const): string; $[SysUtils.pas功能 返回按指定方式格式化一个数组常量的字符形式说明 这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解"%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型Format(x=
2006-04-06 15:01:00 845
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人