[▲前のスレッド]

2007/11/14 (水) 23:09:00 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9
[10] タブグループでのGrepで各種バーが消える
タブグループ化の設定で、
・新規タブが追加されるときウィンドウが非アクティブになる
・Grepで新規Grepタブが追加されるときツールバーなど各種バーが無い状態で表示される

CEditWnd::Create()で、m_cHokanMgr.DoModeless()が実行されると、
まだ何もウィンドウを表示していないのにCreateDialogParam APIの
実行に伴ってWM_ACTIVATEAPPが発生するためと思われます。
SetWindowLongでCEditWnd::DispatchEvent()を有効化するのは上記
処理よりも後にしたほうが良さそうです。

Index: sakura_core/CEditWnd.cpp
===================================================================
--- sakura_core/CEditWnd.cpp	(revision 1177)
+++ sakura_core/CEditWnd.cpp	(working copy)
@@ -419,7 +419,6 @@
 	HWND hWnd = _CreateMainWindow(nGroup, sTabGroupInfo);
 	if(!hWnd)return NULL;
 	m_hWnd = hWnd;
-	::SetWindowLongPtr( GetHwnd(), GWLP_USERDATA, (LONG_PTR)this );
 
 	//コモンコントロール初期化
 	MyInitCommonControls();
@@ -483,6 +482,10 @@
 
 
 	// -- -- -- -- その他調整など -- -- -- -- //
+
+	// 画面表示直前にDispatchEventを有効化する
+	::SetWindowLongPtr( GetHwnd(), GWLP_USERDATA, (LONG_PTR)this );
+
 	// デスクトップからはみ出さないようにする
 	_AdjustInMonitor(sTabGroupInfo);
 

INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.000]