日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

控制系統菜單

控制系統菜單

更新時間:2022-04-30 文章作者:未知 信息來源:網絡 閱讀次數:

----WINDOWS附帶的時鐘程序有這樣一個特點:它的"Alwaysontop"選項是加在系
統菜單中的,這一技巧為該程序增色不少,同時也增加了其神秘感。我們
在程序設計時能否把自己的菜單項加入系統菜單呢?回答是肯定的,筆者
用Delphi方便的實現了這一功能。

----為實現這一功能,需要解決兩個問題:①、如何把用戶菜單項加入系統
菜單,②、如何才能響應這一菜單項。

----要解決第一個問題,就需要獲取系統菜單的句柄,這一點可用API函數
getsystemmenu()來獲取(getmenu()只能獲取用戶菜單句柄),有了系統菜單句柄,便
可以用API函數appendmenu()向系統菜單中加入用戶菜單選項了。

----要解決第二個問題,需要重載WM_SYSCOMMAND或WM_MENUSELECT消息。我們
知道,當用戶從菜單中選一項時,系統便會發出WM_COMMMAND消息,而對
于系統菜單,則會發出WM_SYSCOMMAND消息,重載這個消息,并判斷選中菜
單的ID值是否為用戶設定值便可以了。Delphi為我們提供了這方面的機制,使
我們能方便的實現這一功能。當然,為實現這一功能我們還可以利用子類
或為系統加消息鉤子的方法來解決。

----為了便于實現,在這里,我們采用重載WM_SYSCOMMAND消息和填寫
WM_MENUSELECT消息結構的方法來實現這一功能。

----下面為筆者為實現這一功能而開發的實例。

----程序在Delphi  ver1.0下調試通過。

program Psysmenu;
uses
  Forms,
  Sysmenu in '\SYSMENU.PAS' {Form1};

{$R *.RES}
begin
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

unit Sysmenu;

interface
uses
  SysUtils, WinTypes, WinProcs, Messages, Classes,
  Graphics, Controls,Forms, Dialogs;
type
  TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
  private
      procedure  user_sysmenu(var msg:twmmenuselect);
                               message wm_syscommand;

  public
        { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}

procedure  TForm1.user_sysmenu(var msg:TWMMENUSELECT);
begin
   if msg.iditem=100 then
      showmessage('     響應系統菜單!')
      { 也 可 以setwindowpos()來實現處于最前端功能}
   else
      inherited;     { 作缺省處理,必須調用這一過程}
end;

procedure TForm1.FormCreate(Sender: TObject);
   var hmenu:integer;
begin
   hmenu:=getsystemmenu(handle,false);
   {獲取系統菜單句柄}
   appendmenu(hmenu,MF_SEPARATOR,0,nil);
   appendmenu(hmenu,MF_STRING,100,'加入系統菜單');
   {加入用戶菜單}
end;
end. 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 日本在线高清 | 亚洲精品一区二区三区四区五区 | 久久婷婷人人澡人人爱91 | 中文字幕在线免费看 | 亚洲精品一区二区三区婷婷月 | 久久精品国产99久久3d动漫 | 夜插插| 日日夜夜天天干干 | 午夜国产精品久久影院 | 国产操女| 国产欧美日韩看片片在线人成 | 欧美视频一区二区三区四区 | 麻豆91在线视频 | 综合久久网 | 午夜影院在线观看 | 91精品视频在线看 | 国产精品自在欧美一区 | 成人a大片高清在线观看 | 日日碰狠狠添天天爽爽爽 | 日本wwwwwxxxxx| 四虎在线免费观看 | 国产精品一二三 | 亚洲精品一区二区 | 天天干视频在线观看 | 男人边吃奶摸下激烈免费视频 | 天天se天天cao | 欧美啪啪毛片一区二区 | 成年网站在线看 | 中文字幕一区二区三 | 伊人日日夜夜 | 国产小视频网址 | 天天操夜夜欢 | 人人揉人人添人人捏人人看 | 美国乱妇在线看 | 亚洲白浆| 日韩精品一 | 国产成人v视频在线观看 | 国产一区二区三区欧美精品 | 99久久国产综合精品网成人影院 | 天天躁夜夜躁狂狂躁综合 | 在线欧美色 |