来源:www.cncfan.com | 2006-2-1 | (有2006人读过)
1.配置数据引擎(BDE、SQL Link) 在分发数据库程序时,需要携带数据引擎(BDE、SQL Link),并且在客户端安装完程序后还需要配置数据引擎,如用户名(username)、口令(Password)等等。如果手工配置的话,工作量比较大(根据客户机数量而定)。而InstallShield For Delphi又没有这方面的选项,其实InstallShield For Delphi可以做到,在生成安装程序的目录里有一个*.iwz的文本文件,只要在[IDAPI Alias]段中手工加入即可。例如: [IDAPI Alias] usesname=SYSDBA password=masterkey 安装程序执行完毕后自动完成数据引擎配置。 2.为列表框添光彩 为了改变Listbox和Combobox两个控件的单调风格,想在它们的每一项前面加上个图标,从表面上看好像不大可能啦。其实,这两个控件都有style属性,它可以设为lbOwnerDrawFixed,在事件OnDrawItem中写一段代码,就可以在列表框中的每一项前面添加一个小图标了。下面是在Listbox 的OnDrawItem事件中添加的代码: procedure TForm1.ListBox1DrawItem(Control:TWinControl; Index: Integer; Rect:TRect; State: TOwnerDrawState); var Bitmap:TBitmap; Offset:Integer; begin with (Control as TListBox).Canvas do begin FillRect(Rect); Offset:=2; Bitmap:=TBitmap.create; Bitmap.LoadFromFile(′d:\temp1\1.bmp′); //指定图文件是d:\temp1\1.bmp BrushCopy(Bounds(Rect.Left + 2, Rect.Top, Bitmap.Width, Bitmap.Height), Bitmap, Bounds(0, 0, Bitmap.Width, Bitmap.Height), clRed); Offset := Bitmap.width + 6; TextOut(Rect.Left + Offset, Rect.Top, (Control as TListBox).Items[Index]) end; end; 进一步,利用OnDrawItem事件的参数Index还可以在不同项前面添加不同的图标。当用add方法为列表框或下拉框添加项目时,会自动执行OnDrawItem事件,这样新添加的项目前面就会有一个图标了。
|