• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

历史上最全的delphi技巧集锦之二

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

16、SaveDialog1确认文件存不存在的办法?
答:
procedure TForm1.SaveDialog1CanClose(Sender: TObject; 
var CanClose: Boolean); 
begin 
if FileExists(SaveDialog1.FileName) then //如果文件已经存在 
if MessageDlg('文件已经存在,保存吗?', mtConfirmation, [mbYes, mbNo], 0) <> mrYes then 
Button2.Click  //如果选择了覆盖,则退出,否则,重新让用户选择文件 
end; 

==============================================================================

17、正确关闭一个MDI子窗口?
答:
Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会发觉该子窗口只是最小化,而不是你预期的那样被关闭。解决办法是在子窗口的OnClose事件处理过程中加入如下代码,示例:

procedure ChildForm.OnClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end; 

  Delphi为一个Form的关闭行为指定了四种方式,分别是:

caNone 禁止Form被关闭 
caHide Form不被关闭,但是被隐藏。被隐藏的Form仍然可以被程序访问。 
caFree Form被关闭,并且释放其占用的资源。 
caMinimize Form被最小化而不是被关闭,这是MDI子窗口的默认关闭行为。 


==============================================================================

18、怎样记MDI子窗口不在母体运行时就被打开?
答:
在project下的options中forms里面除了form1外,其余的移到右边的框里,然后在调用显示的按钮下编写语句,以form2调用为例:
form2:=Tform2.create(self);
form2.show;

==============================================================================

19、限制FORM的大小
答:
在FORM私有声明部分加上如下一行: 

procedure WMGetMinMaxInfo( var Message:TWMGetMinMaxInfo message WM_GETMINMAXINFO; 
在声明部分加上如下几行: 
procedure TForm1.WMGetMinMaxInfo( var Message :TWMGetMinMaxInfo  
begin 
with Message.MinMaxInfo^ do
begin
ptMaxSize.X := 200; {最大化时宽度}
ptMaxSize.Y := 200; {最大化时高度}
ptMaxPosition.X := 99; {最大化时左上角横坐标}
ptMaxPosition.Y := 99; {最大化时左上角纵坐标}
end;
Message.Result := 0; {告诉Windows你改变了 minmaxinfo}
inherited;
end; 

==============================================================================

20、随机数生成法
答:
Randomize;
rn:=inttostr(random(9999));
rn1:=inttostr(random(9999));
.....

==============================================================================

21、怎样把程序隐藏起来,在WINDOWS界面上没有显示??
答:
在application.run之前加入application.showmain:=false! 

==============================================================================

22、怎样将一个form1.free的form1窗体重新显示?
答:
form2:=TForm2.Create(application);
form2.Show;

如果你要创建的Form2窗体能嵌入一个Panel中,指定Parent:
form2:=TForm2.Create(application);
form2.Parent:=panel1;
form2.Show;

==============================================================================

23、我想在bitbtn上设快捷按钮Esc,怎么办?
答:
procedure TForm1.BitBtn1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=27 then
application.Terminate;
end; 

设它的cancel属性为true就行了~~

==============================================================================

24、什么叫做托盘区?
答:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi数组及长度发布时间:2022-07-18
下一篇:
Delphi出现“Unsatisfied forward or external declaration”错误分析发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap