TabWnd_MousePlus1_2_1.diff(修正1.2.1版)
マウスホイールの修正
・タブ上だけでなくタブバーのどこでもホイールが効くように
・マルチモニタで負座標のときでもホイールが動作するように
・ホイール動作を「ウィンドウ切替」から「タブ切替」に
連続ホイールによる高速切替は不安定なままです。
安定化の目処も立っていません。
上記パッチに、以下を追加するとちょっとはましになるかも。
--- sakura_core/CShareData.cpp (revision 954)
+++ sakura_core/CShareData.cpp (working copy)
@@ -822,8 +826,20 @@
cRecentEditNode.Terminate();
//ウインドウ登録メッセージをブロードキャストする。
- PostMessageToAllEditors( MYWM_TAB_WINDOW_NOTIFY, (WPARAM)nSubCommand, (LPARAM)hWnd, hWnd );
+ // 2006.03.30 ryoji タブまとめ表示の場合は SendMessageToAllEditors() にする
+ // "次/前の画面" などの連続実行で短時間内に多数のウィンドウ切り替えが
+ // 行われる場合、ポストでは受け側の処理(TWNT_ORDER)が遅延するので、
+ // 一時的に、
+ // ・全部の画面が消える
+ // ・複数の画面が表示される
+ // ・表示されていてほしい画面が消えて別の画面が表示される
+ // などの状態になり、切り替え動作自体がおかしくなることがある
+ if( ( m_pShareData->m_Common.m_bDispTabWnd && !m_pShareData->m_Common.m_bDispTabWndMultiWin ) && nSubCommand == TWNT_ORDER )
+ SendMessageToAllEditors( MYWM_TAB_WINDOW_NOTIFY, (WPARAM)nSubCommand, (LPARAM)hWnd, hWnd );
+ else
+ PostMessageToAllEditors( MYWM_TAB_WINDOW_NOTIFY, (WPARAM)nSubCommand, (LPARAM)hWnd, hWnd );
+
return TRUE;
}