Вверх ↑
Ответов: 184
Рейтинг: 4
#1: 2008-01-27 09:07:18 ЛС | профиль | цитата
Своё меню по ЛКМ по кнопке программы на таскбаре (свернуть, развернуть и т.д.)

#sha
Add(MainForm,12518453,315,161)
{
 Left=80
 Top=60
 Width=401
 Height=296
}
Add(InlineCode,1876531,70,168)
{
 EventPoints=#6:onMenu|
 Code=#15:unit HiAsmUnit;|0:|9:interface|0:|42:uses Windows, Messages, KOL, Share, Debug;|0:|4:type|29:  THiAsmClass = class(TDebug)|9:  private|20:    Old: TOnMessage;|63:    function _OnMes(var Msg: TMsg; var Rslt: integer): Boolean;|8:  public|22:    onMenu: THi_Event;|36:    constructor Create; reintroduce;|33:    destructor Destroy; override;|4:end;|0:|14:implementation|0:|5:const|26:  WM_TASKBAR_MENU = $0313;|30:  WM_POPUP_MENU = WM_USER + 1;|3:   |31:constructor THiAsmClass.Create;|5:begin|12:  inherited;|26:  old := Applet.OnMessage;|29:  Applet.OnMessage := _OnMes;|4:end;|0:|31:destructor THiAsmClass.Destroy;|5:begin|26:  if Assigned(Applet) then|28:    Applet.OnMessage := old;|12:  inherited;|4:end;|3:   |28:function THiAsmClass._OnMes;|5:begin|17:  Result := true;|21:  case Msg.message of|69:    WM_TASKBAR_MENU: PostMessage(Applet.Handle, WM_POPUP_MENU, 0, 0);|39:    WM_POPUP_MENU: _hi_OnEvent(onMenu);|8:    else|27:      if Assigned(Old) then|32:        Result := Old(Msg, Rslt)|10:      else|24:        Result := false;|6:  end;|4:end;|0:|4:end.|
 link(onMenu,8114576:doPopupHere,[])
}
Add(PopupMenu,8114576,175,161)
{
 Menu=#9:Развенуть|8:Свернуть|1:-|5:Выход|
 link(onClick,8355157:doEvent,[])
}
Add(IndexToChanel,8355157,231,161)
{
 Count=4
 link(onEvent1,12518453:doRestore,[(292,167)(292,174)])
 link(onEvent2,12518453:doMinimize,[(279,174)(279,181)])
 link(onEvent4,12518453:doClose,[])
}
карма: 1
Статус строка какая-то, сейчас посмотрім: %time%
1
Голосовали:Астрамак