Skip to content

Latest commit

 

History

History
37 lines (23 loc) · 1.71 KB

debug-tasktray-menu.md

File metadata and controls

37 lines (23 loc) · 1.71 KB

タスクトレイのメニュー項目をデバッグする方法

手順

  1. Visual Studio から デバッグなしで sakura.exe を起動します。
  2. ウィンドウを最小化します。
  3. 無題 というウィンドウがない方のプロセスにアタッチします。
  4. タスクトレイでサクラエディタのアイコンを 左クリック または 右クリック します。(どちらを行うかによってメニュー項目は異なります)
  5. CControlTray::DispatchEvent の WM_LBUTTONUP に制御が来ます。
  6. テストしたい項目を選びます。
  7. CControlTray::DispatchEvent の CreatePopUpMenu_L または CreatePopUpMenu_R が制御を返します。

左クリック した場合の該当コード

以下の部分です。

case WM_LBUTTONUP: // Dec. 24, 2002 towest UPに変更
// MYTRACE( _T("WM_LBUTTONDOWN\n") );
/* 03/02/20 左ダブルクリック後はメニューを表示しない ai Start */
if( bLDClick ){
bLDClick = false;
return 0L;
}
/* 03/02/20 ai End */
::SetActiveWindow( GetTrayHwnd() );
::SetForegroundWindow( GetTrayHwnd() );
/* ポップアップメニュー(トレイ左ボタン) */
nId = CreatePopUpMenu_L();
switch( nId ){
case F_FILENEW: /* 新規作成 */
/* 新規編集ウィンドウの追加 */
OnNewEditor( false );
break;

例えば grep を行う場合は以下の部分です。

case F_GREP_DIALOG:
/* Grep */
DoGrep(); //Stonee, 2001/03/21 Grepを別関数に
break;

右クリック した場合の該当コード

以下の部分です。

case WM_RBUTTONUP: // Dec. 24, 2002 towest UPに変更
::SetActiveWindow( GetTrayHwnd() );
::SetForegroundWindow( GetTrayHwnd() );
/* ポップアップメニュー(トレイ右ボタン) */
nId = CreatePopUpMenu_R();
switch( nId ){
case F_HELP_CONTENTS:
/* ヘルプ目次 */
ShowWinHelpContents( GetTrayHwnd() ); // 目次を表示する
break;