⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00204.htm

📁 提供了Delphi编程的几个巧妙用法
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>1</title>
</head>

<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF">

<p align="left"><span style="BACKGROUND-COLOR: #ff0000"><a href="00204.zip">源程序下载</a></span><b><span style="background-color: #000080"><br>
</span><span style="background-color: #000000"><br>
</span><span style="background-color: #000080"><a name="1"></a>1:限制Form的大小</span></b><br>
  使用过DELPHI的朋友都会注意到DELPHI本身最上面的窗口,当它极大时只占屏幕的一小部分,它是如何实现的呢,请看下面的说明:<br>
1)在FORM私有声明部分加上如下一行:<br>
procedure WMGetMinMaxInfo( var Message:TWMGetMinMaxInfo ); message WM_GETMINMAXINFO;<br>    
2)在声明部分加上如下几行:<br>    
procedure TForm1.WMGetMinMaxInfo( var Message :TWMGetMinMaxInfo );<br>    
begin<br>    
&nbsp;&nbsp;&nbsp; with Message.MinMaxInfo^ do<br>    
&nbsp;&nbsp;&nbsp; begin<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ptMaxSize.X := 200; {最大化时宽度}<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ptMaxSize.Y := 200; {最大化时高度}<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ptMaxPosition.X := 99; {最大化时左上角横坐标}<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ptMaxPosition.Y := 99; {最大化时左上角纵坐标}<br>    
&nbsp;&nbsp;&nbsp; end;<br>   
&nbsp;&nbsp;&nbsp; Message.Result := 0; {告诉Windows你改变了 minmaxinfo}<br>    
&nbsp;&nbsp;&nbsp; inherited;<br>  
end;<b><span style="background-color: #000080"><br>  
</span>    
<span style="background-color: #000000"><br>  
</span>    
<span style="background-color: #000080"><a name="2"></a>2:Form生成时的事件次序&nbsp;</span>   
</b><br> 
  Form 产生的""个过程中, 各事件发生与执行的次序,如果是一般的 SDI Form, 各事件的发生次序如下:<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnCreate<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnShow<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在屏幕上看到这个视窗<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnActivate<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnPaint<br>   
<br>   
	如果是 MDI 视窗, 而 MdiChild 的第一个子视窗是在程式启动时, 就出现在MdiForm中的话,<br>    
那麽,各事件的次序是:<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主视窗的 OnCreate<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 子视窗的 OnCreate<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 子视窗的 OnShow<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 子视窗的 OnActivate<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主视窗的 OnShow<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在屏幕上看到主视窗及第一个子视窗<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主视窗的 OnPaint<br>    
<br>    
	在这里也捎带说一下,Form关闭时间的响应的先后顺序是:<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CloseQuery    OnCloseQuery<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Close              OnClose<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Deactivate      OnDeactivate<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hide               OnHide<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Destroy          OnDestroy<b><span style="background-color: #000080"><br>   
</span><span style="background-color: #000000"><br>   
</span><span style="background-color: #000080"><a name="3"></a>3:在窗体上设置一个热键</span></b>    
</p>   
   
<p><br>  
在窗体的FORM ONKEYDOWN事件中加入:<br>   
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);<br>   
begin<br>   
&nbsp;&nbsp;&nbsp; if (ssCtrl in Shift) and (chr(Key) in ['A', 'a']) then  ShowMessage('Ctrl-A');<br>   
end;<br>   
<br>   
<br>   
<br>    
<span style="background-color: #FF0000"><a href="00204.zip">源程序下载</a></span>    
</p>   
    
</body>    
    
</html>    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -