unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs; type  TForm1 = class(TForm)  private    { Private declarations }  public   procedure Createparams(Var Params:TCreateParams);override;   …
Delphi中动态创建窗体有四种方式,最好的方式如下: 比如在第一个窗体中调用每二个,主为第一个,第二个设为动态创建 Uses Unit2; //引用单元文件 procedure TForm1.Button1Click(Sender: TObject);beginform2:=TForm2.Create(Application); //创建窗体form2.Show; //显示窗体end;end. ==================================================…
最近在Delphi开发中用到了无边框窗体显示时,无法在任务栏使用右键弹出菜单的情况,经过整理,通过以下方法可以使右键菜单出现: procedure Tfrm_Base.InitSysMenu;var  WindowStyle: Integer;begin  WindowStyle := GetWindowLong(Handle, -16);  WindowStyle := WindowStyle or WS_SYSMENU or WS_MINIMIZEBOX;  WindowStyle:=Win…
    Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容  ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一个典型例子.MDI体系中至少需要两种窗体,只能将其中之一设置为主窗体,其余窗体全部则全部为子窗体,主窗体负责子窗体的管理.切换等工作.自然,子窗体上承载的内容可各不相同.Tidy浏览器最终实现了三种不同的窗体:主窗体.浏览子窗体.源代码子窗体.  ② 设置窗体类型  我们通过窗体的FormStyle…
  求助:有谁知道Delphi中窗口的创建过程,此“窗口”不仅仅指 TForm 类型, 还包括一般的窗口控件,如TButton,TEdit等等,希望有能够十分详细的运作 过程,比如说CreatParams,CreateWindowHandle等等函数的调用情况,可能 调试过 Delphi VCL 源代码这个问题才能解决此问题,我很想知道.谢谢! 你的问题只需要从对象的概念来理解也就好了呀! 其实在Delphi中,所有的VCL不就是一个个对象么? 它有图形外观也是因为它能够响应消息呀!(WM_Pa…
/////////////////////////////////////////////////////// Delphi 中Sender对象的定义/////////////////////////////////////////////////////1.Sender的定义: 每一个事件处理里面至少都有一个Sender参数.比如: procedure TForm1.Button1Click(Sender:TObject); begin ... end; Sender的含义就是代表调用TFor…
在事件处理程序参数表中,至少含有一个参数Sender,它代表触发事件处理程序的构件,如在上例中,Sender就指Button2,有了Sender参数,可以使多个构件共用相同的事件处理程序,如下例:   Procedure Tform1.Buttonclick(Sender:Tobject);   Begin   If sender=button1 then   Label1.caption:=′看庭前花开花落  ′ Else Label2.caption:=′望天上云卷云舒′   End: 在此…
函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一系列函数: function Min (A,B: Integer): Integer; overload; function Min (A,B: Int64): Int64; overload; function Min (A,B: Single): Single; overload; functi…
[背景] 公司做视频影像采集,平时采集图像的时候都需要打开采集窗口,然后需要开着采集窗口来进行图像采集.同事问我能不能做一个全局快捷键,哪怕我没有操作也可以采集图像.说干就干,一直想做全局快捷键了,网上找了一些代码,凑合了一下,达到了实现的效果,同事反应使用效果不错. [知识点] 本代码有如下Delphi知识可以参考学习: 1.Delphi ini文件的读取写入. 2.Delphi全局快捷键的检测和注册. 3.Delphi给指定窗体发送按键. 4.Delphi任务栏显示.隐藏自己的程序. 5.D…
Delphi中的窗体,有模式窗体与非模式窗体两种.两种窗体的调用方式不同,模式窗体使用ShowModal显示,非模式窗体使用Show显示.当显示模式窗体的时候你是不能操作本程序的其他窗体的,你不能把焦点从模式窗体转到其他窗体上.而非模式窗体则没有这种限制,你可以从一个非模式窗体切换到另外一个非模式窗体上.两种窗体的区别仅仅在调用的方式上有区别. 窗体的创建: 当使用Delphi的IDE New一个窗体后,在Project1.dpr文件中,会出现一句 1 Application.CreateFor…
转载自 http://www.cnblogs.com/jieke/archive/2013/01/11/2855782.html 本文介绍了在Delphi中利用系统函数和Windows API函数调用来获取和修改文件的时间信息的方法. 熟悉Windows 95/98的朋友一定经常会用单击鼠标右键的方法来查看所选定的文件的属性信息.在属性菜单中会列 出该文件的创建时间.修改时间和访问时间.这些信息常常是很有用的,它们的设置一般都是由操作系统(也就 是由Dos/Windows等等)自动完成的,不会让…
Delphi中窗体的事件 Form窗体可以响应各种各样的时间,在Object Inspector的Events页面中罗列了一大堆,如下图: 下面将要列出一些常用的事件. 1.OnActivate 当窗体被初始激活时,就会发生OnActivate事件,当初始创建窗体或者用户从一个窗体切换到另一个窗体时,就可能激活窗体,Application对象也有一个OnActivate事件,当用户从一个应用程序切换到另一个应用程序时,就会产生此事件. 2.OnClose和OnCloseQuery 当关闭一个应用…
DELPHI中如何让FORM窗体透明,只显示控件?分享到: 对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 回复次数:7largewanglargewanglargewang等级:Blank#1 得分:5 回复于: 2002-12-17 13:58:37procedure TForm1.FormCreate(Sender: TObject);begin BorderStyle := bsNone; Brush.Style := bsClear;end; //保证你只看的到控件!!!关注…
在DLL中的子窗体不会响应Tab按键的,这个时候就需要手动去指定Tab键的操作,但是前提是主窗体要向这个窗体发送一个消息,一个Tab键按下的消息.基本顺序是这样的: 1. 主窗体用Hook技术捕获Tab按键并向活动子窗体发送一个Tab键按下的消息 2. 子窗体手动定义一个Tab键被按下的处理(需要用到FormKeyDown事件). 3. 移动到下一个焦点的WinAPI函数:Perform(WM_NEXTDLGCTL,0,0); 4.移动到上一个焦点的函数:Perform(WM_NEXTDLGCT…
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:Delphi Form File,描述窗体或数据模块及其组件属性的二进制文件.窗体界面文件, 同PAS文件同名,而  且一一对应, 定义了窗体属性和构件的属性,4.BPG Borland Project Group 工程项目包, 多个工程文件DPR的集合5().DOF Delphi Option Fi…
Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-orientedpascal)语言,并有强大的数据库引擎(BDE),快速的代码编译器,同时又提供了众多出色的构件.受到广大编程人员的青睐.在众多的编程语言(如VB,PowerBuilder,Powerpoint等)中脱颖而出.其中一个DELPHI强于其他编程语言(如VB4.0)的地方就是在DELPHI中可自定义消息,并可直接处理消息.这对于那些希望编写自…
在了解多线程之前我们先了解一下进程和线程的关系 一个程序至少有一个主进程,一个进程至少有一个线程. 为了保证线程的安全性请大家看看下面介绍 Delphi多线程同步的一些处理方案大家可以参考:http://www.cr173.com/html/16747_1.html 主线程又程为UI线程. 进程和线程的主要差别在于它们是不同的操作系统资源管理方式.进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径.线程有自己的堆栈和局部变量,但线程之间没…
  其他(28)   //启动Word   try     wordapplication1.connect;   except     messagedlg('word may not be installed', mterror, [mbok], 0);     abort;   end; //打开文档 procedure TForm1.OpenWord(Sfile: string); var   FileName, ConfirmConversions, ReadOnly, AddToRe…
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:Delphi Form File,描述窗体或数据模块及其组件属性的二进制文件.窗体界面文件, 同PAS文件同名,而  且一一对应, 定义了窗体属性和构件的属性,4.BPG Borland Project Group 工程项目包, 多个工程文件DPR的集合5().DOF Delphi Option Fi…
随着软件技术的不断进步,软件界面也越来越美观,操作也越来越方便.综观市面上比较专业的各种软件,我们会发现大部分都提供窗体停靠的功能,特别象工具软件,基本上都或多或少有停靠功能.自然,Delphi也支持停靠,而且她和VCL紧密结合,对于广大的Delphi程序员来说更是一大福音.让我们省去枯燥的编码时间.把注意力集中在核心程序的构思上.先让我们来复习一下VCL的结构,在TWinControl类中有一个DockSite属性(boolean),它的作用是是否允许别的控件停靠在它的上面,在TControl…
10.1 Windows的动态链接库原理 动态链接库(DLLs)是从C语言函数库和Pascal库单元的概念发展而来的.所有的C语言标准库函数都存放在某一函数库中,同时用户也可以用LIB程序创建自己的函数库.   在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数代码,并把这些函数代码添加到可执行文件中.这种方法同只把函数储存在已编译的.OBJ文件中相比更有利于代码的重用. 但随着Windows这样的多任务环境的出现,函数库的方法显得过于累赘.如果为了完成屏幕输出.消息处理.内存管理.对话…
本文的内容取自网络,并重新加以整理,在此留存仅仅是方便自己学习和查阅.所有代码均亲自测试 delphi7下测试有效.图片均为自己制作. 多线程应该是编程工作者的基础技能, 但这个基础我从来没学过,所以仅仅是看上去会一些,明白了2+2的时候,其实我还不知道1+1. 开始本应该是一篇洋洋洒洒的文字, 不过我还是提倡先做起来, 在尝试中去理解.先试试这个: procedure TForm1.Button1Click(Sender: TObject); var   i: Integer; begin  …
        本文发表在中国人民解放军"信息工程大学"学报 2001年第3期.        ActiveX数据对象之事务控制在VB和DELPHI中的应用                     马根峰1   ,  孙艳2  , 宋伟1                       ( 1.重庆邮电学院 ,重庆,400065 :2. 铁道部第十九工程局四处,通辽,028000  )  摘要      事务控制是数据库应用系统中的关键技术之一,本文一开始先对事务控制的概念以及微软的 Ac…
为什么要使用包? 答案很简单:因为包的功能强大.设计期包(design-time package)简化了自定义组件的发布和安装:而运行期包(run-time package)则更是给传统的程序设计注入了新鲜的力量.一旦把可重用的代码编译为运行期库中,你就可以在多个应用程序中共享它们.所有应用程序都可以通过包访问标准组件,Delphi自己就是这么干的.因为应用程序不必在可执行文件中单独复制一份组件库,这样就大大节省了系统资源和磁盘空间.此外,包还可以减少花费在编译上的时间,因为你只需编译应用程序特…
DELPHI中的消息处理机制 Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-orientedpascal)语言,并有强大的数据库引擎(BDE),快速的代码编译器,同时又提供了众多出色的构件.受到广大编程人员的青睐.在众多的编程语言(如VB,PowerBuilder,Powerpoint等)中脱颖而出.其中一个DELPHI强于其他编程语言(如VB4.0)的地方就是在DELPHI中可自定义消息,并可直接…
Delphi中ClientDataSet的用法小结 TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds,是基于文件型数据存储和操作的控件.该控件封装了对数据进行操作处理的接口和功能,而本身并不依赖上述几种数据库驱动程序,基本上能满足单机"瘦"数据库应用程序的需要. 一.TClientDataSet的基本属性和方法介绍 1.FieldDefs: 字段定义列表属性 开发者可通过单击属性编辑器中该属性编辑按钮,或在该控件上单击右键选择弹出菜单中的&q…
前言 我写Delphi程序是从MIS系统入门的,开始尝试子系统划分的时候采用的是MDI窗体的结构.随着系统功能的扩充,不断有新的子系统加入系统中,单个工程会变得非常大,每次做一点修改都要重新编译,单个工程的形式也不利于团队协作.为了提高工作效率,我希望利用DLL动态链接库的形式实现插件结构的编程. 插件结构的编程需要一个插件容器来控制各DLL的运行情况,将划分好的每个子系统安排到一个DLL库文件中.对每个DLL程序需要为容器预留接口函数,一般接口函数包括:启动调用DLL库的函数.关闭DLL库的函…
摘要: 在Delphi的VCL库中,为了使用以及实现的方便,应用对象Application创建了一个用来处理消息响应的隐藏窗口.而正是这个窗口,使得用VCL开发出来的程序存在着与其他窗口不能正常排列平铺等显得有些畸形的问题.本文通过对VCL的深入分析,给出了一个只需要对应用程序项目文件作3行代码的修改就能解决问题的方案,且不需要原有的编程方式作任何改变. 一.引言 用Delphi所提供的VCL类库编写的Windows应用程序,有一个明显不同于标准Windows窗口的特点--主窗口的系统菜单与任务…
DELPHI中的消息处理机制 Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-orientedpascal)语言,并有强大的数据库引擎(BDE),快速的代码编译器,同时又提供了众多出色的构件.受到广大编程人员的青睐.在众多的编程语言(如VB,PowerBuilder,Powerpoint等)中脱颖而出.其中一个DELPHI强于其他编程语言(如VB4.0)的地方就是在DELPHI中可自定义消息,并可直接…
Delphi中SendMessage使用说明 SendMessage基础知识 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回. 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam): 参数: hWnd:其窗口程序将接收消息的窗口的句柄.如果此参数为HWND_BRO…