之前请教的"Form标题"的问题,我的描述有误,重新来过!

AiFei 2000-07-06 03:35:00
如何在一个Form的系统菜单栏(有窗口最大,最小化和关闭钮)上显示信息?
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeah 2000-07-06
  • 打赏
  • 举报
回复
你的意思是在窗口的系统菜单中加入新菜单,例如加入一个分隔条再加一个“关于...“菜单,可以这样做:
...
private
procedure AppMsg(Var Msg:TMsg;Var Handled:Boolean);
Var Form1:TForm1;


Const WM_about=WM_USER+1;
procedure TForm1.FormCreate(Sender:TObject);
Var hm:HMenu;
begin
hm:=GetSystemMenu(handle,false);
AppendMenu(hm,mf_bycommand,mf_separator,nil);
AppendMenu(hm,mf_bycommand,WM_ABOUT,'关于(&B)...');
hm:=GetSystemMenu(Application.handle,false);
AppendMenu(hm,mf_Bycommand,mf_separator,nil);
AppendMenu(hm,mf_bycommand,WM_ABOUT,'关于(&B)...');
Application.OnMessage:=AppMsg;
end;

procedure TForm1.AppMsg(Var Msg:TMsg;Var Handled:Boolean);
begin
if msg.message=WM_SYSCOMMAND THEN
if msg.wParam=WM_ABOUT then
begin
ShowAbout;//调用显示关于对话框过程
Handled:=true;//消息已处理
end;
end;
end.
meijg 2000-07-06
  • 打赏
  • 举报
回复
用下面的函数,先得到form的系统菜单栏的句柄,getsystemmenu
然后再插入你的信息 insertmenu,msdn中有详细解释
hdlmenu:=getsystemmenu(handle,false);
insertmenu(hdlmenu,3,MF_STRING,0,'gongzio');
chenjian 2000-07-06
  • 打赏
  • 举报
回复
不就直接对form.caption赋值吗?
wsf 2000-07-06
  • 打赏
  • 举报
回复
什么意思,form.caption不行吗

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧