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

📄 u00206.pas

📁 Delphi编程五大妙招源程序
💻 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 + -