お世話になります。
Delphi2007+WinXP環境にて、おそらく仕様だと思うのですが、
ポップアップメニューでサブメニューがある場合、その親メニュー
をマウスクリックしてもクリックイベントが発生しません。
たとえば、開発部という親メニューのサブメニューとして、
一課、二課があるとします。
一課、二課ではクリックイベントが発生しますが、開発部を
クリックしてもイベントが発生しません。
親メニューも選択肢の一つとしたいのですが、親メニューが
クリックされたことを知るために、なにかいい方法ないでしょうか?
参考になるかどうか分かりませんが・・・
{ Private 宣言 }
procedure WMMENUSELECT(var msg: TWMMENUSELECT); message WM_MENUSELECT;
・・・
procedure TForm1.WMMENUSELECT(var msg: TWMMENUSELECT);
var
boMenuOpen: Boolean;
begin
inherited;
boMenuOpen := not ((msg.MenuFlag and $FFFF > 0) and (msg.Menu = 0));
if boMenuOpen then begin
Label1.Caption := 'Open';
end else begin
Label1.Caption := 'Close';
end;
end;
レスありがとうございます。
結局、マウス操作をフックしてやることにしました。
なんとかできそうです。
ありがとうございました。
ツイート | ![]() |