zhansh 发表于 2022-9-16 22:43

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.

sumica 发表于 2022-9-16 23:00

除了代码,你还要把相关的控件拿出来 设置好啊,面向对象,不只是单单敲代码。

harder 发表于 2022-9-16 23:43

居然还有人在用delphi

风铃夜思雨 发表于 2022-9-17 03:17

本帖最后由 风铃夜思雨 于 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;

homejun 发表于 2022-9-17 07:49

delphi很棒,个人快速开发首选

zhansh 发表于 2022-9-17 21:32

风铃夜思雨 发表于 2022-9-17 03:17
发现在 WIN11上 已失效.
Type
TFrmMain = Class(TForm)


你这个代码简洁好用啊,多谢!:lol
//ShellAboutEx这个 uses shellapi; 也不行呢,要怎么才能用?

风铃夜思雨 发表于 2022-9-18 00:17

zhansh 发表于 2022-9-17 21:32
你这个代码简洁好用啊,多谢!
//ShellAboutEx这个 uses shellapi; 也不行呢,要怎么才能用?

这个 ShellAboutEx是我的自已写的, 不是 DELPHI自带的函数

zhansh 发表于 2022-9-18 06:42

风铃夜思雨 发表于 2022-9-18 00:17
这个 ShellAboutEx是我的自已写的, 不是 DELPHI自带的函数

好的,谢谢!
页: [1]
查看完整版本: Delphi 11 在系统菜单中添加菜单项,啥也没有呀