Delphi 11 在系统菜单中添加菜单项,啥也没有呀
网上找的源码,运行啥也没有呀{:1_889:}unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure sysmenu(var msg: twmmenuselect);message wm_syscommand;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
i := getsystemmenu(handle,false);
appendmenu(i,mf_separator,0,nil);
appendmenu(i,mf_string,100,'我的菜单(&E)');
end;
procedure TForm1.sysmenu(var msg: twmmenuselect);
begin
if msg.IDItem = 100 then
showmessage('您选择了自己添加的菜单!')
else
inherited;
end;
end. 除了代码,你还要把相关的控件拿出来 设置好啊,面向对象,不只是单单敲代码。 居然还有人在用delphi 本帖最后由 风铃夜思雨 于 2022-9-17 03:21 编辑
发现在 WIN11上 已失效.
Type
TFrmMain = Class(TForm)
Private
Procedure FormMsg(Var Msg: TMessage); Message WM_SYSCOMMAND;
Public
{ Public declarations }
End;
Procedure TFrmMain.FormMsg(Var Msg: TMessage);
Begin
Case Msg.WParam Of
WM_USER + 11:
begin
showmessage(' systemmenu demo ');
//ShellAboutEx(Self, Application.Icon, Application.Title, '1.00');
end;
Else Inherited;
End;
End;
Procedure TFrmMain.FormCreate(Sender: TObject);
Var
H: HMENU;
Begin
H := GetSystemMenu(Handle, False);
AppendMenu(H, MF_SEPARATOR, 0, Nil);
AppendMenu(H, MF_STRING, WM_USER + 11, '关于(&A)');
end; delphi很棒,个人快速开发首选 风铃夜思雨 发表于 2022-9-17 03:17
发现在 WIN11上 已失效.
Type
TFrmMain = Class(TForm)
你这个代码简洁好用啊,多谢!:lol
//ShellAboutEx这个 uses shellapi; 也不行呢,要怎么才能用? zhansh 发表于 2022-9-17 21:32
你这个代码简洁好用啊,多谢!
//ShellAboutEx这个 uses shellapi; 也不行呢,要怎么才能用?
这个 ShellAboutEx是我的自已写的, 不是 DELPHI自带的函数 风铃夜思雨 发表于 2022-9-18 00:17
这个 ShellAboutEx是我的自已写的, 不是 DELPHI自带的函数
好的,谢谢!
页:
[1]