关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 系统相关 ->详细
相关内容  
 
 
在Delphi程序中应用IE浏览器控件
 
【新品推荐】

  详细内容
 

右键点任务栏上的delphi程序,弹出的菜单只有3项
作者: 评价: 上站日期: 2001-08-25
内容说明:
来源:

修改任务栏的菜单
Application本身也是一个窗口(就是哪个按钮呀)。如下就不一样了。
InsertMenu(GetSystemMenu(Application.Handle, False), 0, MF_BYPOSITION + MF_STRING, 0, 'test'); 
在TApplication.CreateHandle中有如下代码:
  SysMenu := GetSystemMenu(FHandle, False);
  DeleteMenu(SysMenu, SC_MAXIMIZE, MF_BYCOMMAND);
  DeleteMenu(SysMenu, SC_SIZE, MF_BYCOMMAND);
  if NewStyleControls then DeleteMenu(SysMenu, SC_MOVE, MF_BYCOMMAND);
去掉就可以了

选择菜单Project-> Options。在Packages页中关闭Build with runtime packages 选项(即不选中); 
并在Dicectorise/Conditionals页中Search path中添加一项[$DELPHI]\Source\VCL。
  
  将DelphiX\Lib目录下的Forms.dcu改名为OriginForms.dcu。

  打开DelphiX\Source\VCL目录下的Forms.pas屏蔽掉TApplication.CreateHandle中如下代码:
  SysMenu := GetSystemMenu(FHandle, False);
  DeleteMenu(SysMenu, SC_MAXIMIZE, MF_BYCOMMAND);
  DeleteMenu(SysMenu, SC_SIZE, MF_BYCOMMAND);
  if NewStyleControls then DeleteMenu(SysMenu, SC_MOVE, MF_BYCOMMAND);

  选择菜单Project-> Build 你的工程即可(请先保存工程,因为有时Build后会兰屏,
主要是因为装了一些构件。重运行Delphi即可)。 

  最后,选择菜单Project-> Options。去掉刚才在Dicectorise/Conditionals页中Search path中添加的[$DELPHI]\Source\VCL这一项。
  将DelphiX\Source\VCL目录下的Forms.dcu 复制到DelphiX\Lib目录。再删除DelphiX\Source\VCL目录下其它无用了的*.dcu文件。 
在Application中的WndProc中没有对这3个消息(SC_SIZE、SC_MOVE、SI_MAXIMIZE)的处理。而且,Application也只有Minimize和Restore这两个功能函数。
我想这是由于Delphi的普通应用的风格决定的。一般其它窗口不包含在主窗口之中(即使是MDI程序,非子窗口也是这样),因此,
对于应用的最大、移动的操作在逻辑上存在矛盾,所以Borland将这3个应用上的菜单项删除了。

 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 系统相关 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0