随笔分类 - DELPHI
摘要:combobox 不是Sorted:=True; 這樣就可以了嗎?? listview : sorttype :=stText 就會自動排序 menu 排序,可暗中用listbox 排序,再更新menu內容 找一下delphi的help "OnColumnClick" 就有example 了 var ColumnToSort: Integer; procedure TForm1.List...
阅读全文
摘要:我在代码中写了如下代码:Frm_Main.WindowState:=wsMinimized,可在代码执行后却将窗体"最小化"在桌面上了(任务栏上也有)!另在设计中设置完WindowState的属性为wsMinimized后,在窗体初始化后就可"最小化"在任务栏上,而桌面上没有! 请各位指教,不胜感激!!! 对象不同,效果也不同 Application.Minimize; Self.Win...
阅读全文
摘要:procedure TForm1.SpeedButton4Click(Sender: TObject); begin PopupMenu2.Popup(Mouse.CursorPos.X-30,Mouse.CursorPos.Y+12); end; 在光标所在位置弹出菜单; procedure TForm1.Label1Click(Sender: TObject); var Point: TP...
阅读全文
摘要:以下代码以光标所在位置为中心,在全屏幕上绘制一个十字架: procedure TForm1.Button1Click(Sender: TObject); var FullscreenCanvas:TCanvas; DC:HDC; begin DC:=GetDC(0);//取得屏幕的DC,参数0指的是屏幕 FullscreenCanvas := TCanvas.Cr...
阅读全文
摘要:函数由一句或多句代码组成,可以实现某个特定的功能。使用函数可以使代码更加易读、易懂,加快编程速度及减少重复代码。过程与函数类似,过程与函数最重要的区别在于,过程没有返回值,而函数能有返回值。 在Delphi 7.0中,已为我们定义好了非常多的函数,大致分类有6种:数据类型转换函数、字符串、数组操作函数、文...
阅读全文
摘要:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; p...
阅读全文
摘要://删除目录: function DelDirectory(const Source:string): boolean; var fo: TSHFILEOPSTRUCT; begin FillChar(fo, SizeOf(fo), 0); with fo do begin Wnd := 0; wFunc := FO_DELETE; pFrom := PChar(sourc...
阅读全文
摘要:Delphi中用WebBrowser控件如何处理浏览网页时发生的当前页脚本错误,是否继续在该页面上运行该脚本问题 这个错误提示是个弹窗,如何在一弹出时就程序自动关闭这个弹窗 解决:将webbrowser控件的silent属性设置为true
阅读全文
摘要:从Delphi5开始,Delphi集成开发环境中的Object Inspector就使用了图形化的风格来显示某些属性。比如Cursors、Colors、Fonts和Image List等等属性就是这种类型。第一次看到这样的效果,的确令人感到神奇,各种字体的名称可以直接以这种字体的样式显示出来,在选择字体的时候真是很方便。这种效果是如何实现的呢,其实就是使用了组件的“自绘”(Ower-draw...
阅读全文
摘要:使用过DELPHI的朋友都会注意到DELPHI本身最上面的窗口, 当它极大时只占屏幕的一小部分,它是如何实现的呢,请看下面的说明: 1)在FORM私有声明部分加上如下一行: procedureMessage :TWMGetMinMaxInfo ); message WM_GETMINMAXINFO; WMGetMinMaxInfo( var 2)在声明部分加上如下几行: ...
阅读全文
摘要:一、界面色彩渐变效果的实现 界面色彩渐变效果是通过用渐变的画刷刷绘依次相邻的矩形块实现的。下面列举实例说明: 1.新建一个表单,假设其Width为500,设置一个按钮Button1,按此按钮将把表单置为由左向右由黄变白的渐变效果。 2.Button1按钮的代码如下: procedure TForm1.Button1Click(Sender: TObject); var i,j:...
阅读全文
摘要:现在的大多数的鼠标都有鼠标轮,比如,当我们浏览网页时,鼠标轮上下移动,网页就自动上下滚动。鼠标轮的确给我们的操作带来很多方便,但是,在Delphi的大多数控件中都只支持 MouseDown,MouseUp,MouseMove等事件,而不直接支持MouseWheel事件,我们在帮助客户设计一个查看程序时就碰到这样的问题。这个查看程序的数据是放在一个DBGrid中的,数据比较多,超出整个屏幕,如果...
阅读全文
摘要:初学DelphiI的人,由于各种原因,对DelphiI中的许多概念不能很好的理解,并由此带来了许多的问题,或者是开发出的程序稳性不好,一会能运行,一会又不能运行;或者是遇到一个问题久思不得其解,还误以为是DelphiI自身的BUG,等等这些,浪费了我们大量的时间、精力,也影响了我们的开发效率。 那么如何才能避免这些错误了,尽量少走弯路了?笔者从事DelphiI开发多年,下面就把我的经验总结...
阅读全文
摘要:"一个优秀的Delphi程序员,不仅要会写控件,还要会使用控件。" 我还是一个半瓢水的程序员,因此目前为止我所能努力达到的境界是: 一个半瓢水的程序员,管他会不会写控件,只要能拿来改就可以了。 使用过Delphi的朋友都知道,我们在设计Delphi应用程序的某一功能时总是希望能够有现成的第三方免费控件可以拿来使用。但实际情况往往是,网上的控件确实种类繁多,优秀作品也数不胜数,但真正...
阅读全文
摘要:在微软软件帝国的呐喊声中,VB.net和VC#.net在短时间内拥有了一大批FANS。能在开发工具领域和微软一决高下的Borland公司也不甘示弱把Delphi“打扮”的漂漂亮亮的,让我们这些坚定的D迷依旧信心满满,坚守这块阵地。一些对Pascal语法情有独钟或对VCL爱慕非凡的新生力量也加入了我们阵营之中,新加入的同志大多以开发数据库类的软件做为初始的一步,这样对“数据感知”控件了解成为...
阅读全文
摘要:编写Delphi应用程序时,经常会遇到一些ActiveX控件[注:扩展名为OCX的控件或DLL的类型库],它们为应用程序的开发提供了简单的操作途径。然而,这些程序在发布的同时,面临ActiveX控件注册问题。 解决途径:一、用安装程序制作打包文件,往往会给增加程序本身的大小,系统重装时,则必须重新安装它;二、用程序本身进行代码编写函数的形式处理它。 使用方法分为两种: 一、直接把可视...
阅读全文
摘要:本实例演示如何在程序中动态修改屏幕的分辨率,并且不需要重新启动计算机就可以生效。 向窗体上添加两个Button控件,设计完成的主界面如图1所示。 图1 主界面 在程序中添加一个自定义函数DynamicResolution,它有两个参数,分别对应于水平和垂直方向的分辨率,并且该函数有一个BOOL类型的返回值,通过判断返回值可以判断DynamicResolution函数是否正确执行。D...
阅读全文
摘要:Delphi提供了功能强大的 DBGrid组件,以方便进行数据库应用程式设计。不过如果我们仅仅利用DBGrid组件,每一个获得焦点(Grid)只是个简单的文本编辑框,不方便用户输入数据。Delphi也提供了一些其他数据组件来方便用户输入,比如DBComboBox,DBCheckBox等组件,但这些组件却没有DBGrid功能强大。Delphi能不能象Visual Foxpro那样让DBGrid中获得...
阅读全文
摘要:查看驱动器时,往往需要知道驱动器是属于什么类型的,才能进行读写操作,具体实现方法请看下面的程序: var x:integer;driver:pchar;begindriver:=f:\;x := GetDriveType(driver);Case x of2: Label1.Caption := 该驱动器是可移动驱动器;3: Label1.Caption := 该驱动器是固定驱动器;4: ...
阅读全文
摘要:在本文中我将提供一个简便的过程(Procedure)来解决上面的问题,它能够在程序运行时自动固定TDBGrid中所显示列的宽度。 首先,在TForm的OnCreate事件中添加下面的代码: Procedure TForm1.FormCreate(Sender: TObject); begin //在Tag属性中设置需要自动调整的列的最小宽度(固定值) //这里将列宽值设为4...
阅读全文

浙公网安备 33010602011771号