📄 u00206.pas
字号:
unit U00206;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, menus ;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Image1: TImage;
Timer1: TTimer;
Button3: TButton;
MainMenu1: TMainMenu;
File1: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
Procedure SystemMenuClick(Sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
Dct:TRect;
begin
j:=Form1.height; //获得表单高度
for i:=0 to 255 do //此处设置RGB()中一个颜色值
begin
Canvas.Brush.Color:=RGB(255,255,i); //每次画矩形的画刷颜色
Dct:=Rect(i*2,0,(i+1)*2,j); //每次刷绘的矩形区域
Canvas.FillRect(Dct); //填充颜色
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.Height:=Image1.Height+20; //设置增量
if image1.Height>Form1.Height-50 then Timer1.Enabled:=FALSE; //图形整体拉出完毕
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled := True ;
Image1.Height := -1 ;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
item: TMenuItem;
sysmenuHandle: HMENU;
i, itemcount: Integer;
buffer: array [0..128] of Char;
itemID: Integer;
itemflags: DWORD;
begin
handleNeeded;
sysmenuHandle := GetSystemMenu( handle, false ); //得到系统菜单的handle
If sysmenuHandle <> 0 Then
Begin
itemcount := GetMenuItemcount( sysmenuHandle ); //得到系统菜单的个数
for i:= 0 to itemcount - 1 do
begin
itemflags := GetMenuState( sysmenuhandle, i, MF_BYPOSITION ); //得到指定菜单项的当前状态
If (itemflags and MF_SEPARATOR) = MF_SEPARATOR Then //如果是横线
item := NewLine
Else Begin
GetMenuString( sysmenuhandle, i, buffer, sizeof(buffer),MF_BYPOSITION ); //得到指定菜单项的Caption
itemID := GetMenuItemID( sysmenuhandle, i ); //得到指定菜单的在系统菜单中的ID
item := NewItem( buffer, 0,
(itemflags and MF_CHECKED) = MF_CHECKED,
(itemflags and (MF_DISABLED or MF_GRAYED)) = 0,
SystemMenuClick,
0,
format('Sysmenu_%d',[itemid])); //创建新的MenuItem
item.tag := itemID;
End;
File1.Add( item );
end;
End;
end;
procedure TForm1.SystemMenuClick(Sender: TObject);
begin
With Sender As TMenuitem do
Self.perform( WM_SYSCOMMAND, Tag, 0 );
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -