[リロード] [検索]

[スレッド全体]

▼ 2014/5/15 (木) 12:10:26 LR4  
Mozilla/5.0 (Windows NT 6.1; rv:29.0) Gecko/20100101 Firefox/29.0
[2182] Re:代替案パッチ(改) 2/2
Index: sakura_core/util/MessageBoxF.cpp
===================================================================
--- sakura_core/util/MessageBoxF.cpp	(リビジョン 3706)
+++ sakura_core/util/MessageBoxF.cpp	(作業コピー)
@@ -40,6 +40,25 @@
 // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
 //                 メッセージボックス:実装                    //
 // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
+int Wrap_MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType)
+{
+	static int (WINAPI *RealMessageBox)(HWND, LPCTSTR, LPCTSTR, UINT, WORD);
+	static HMODULE hMod = NULL;
+	if( hMod == NULL ){	// 初期化されていない場合は初期化する
+		hMod = GetModuleHandle(_T("USER32"));
+#ifdef _UNICODE
+		*(FARPROC *)&RealMessageBox = GetProcAddress(hMod, "MessageBoxExW");
+#else
+		*(FARPROC *)&RealMessageBox = GetProcAddress(hMod, "MessageBoxExA");
+#endif
+	}
+
+	// lpText, lpCaption をローカルバッファにコピーして MessageBox API を呼び出す
+	// ※ 使い回しのバッファが使用されていてそれが裏で書き換えられた場合でも
+	//    メッセージボックス上の Ctrl+C が文字化けしないように
+	return RealMessageBox(hWnd, std::tstring(lpText).c_str(), std::tstring(lpCaption).c_str(), uType, CSelectLang::getLangId());
+}
+
 HWND GetMessageBoxOwner(HWND hwndOwner)
 {
 	if(hwndOwner==NULL && g_pcEditWnd){

▼<2152> 不具合:「開きません」のキャンセルが存在... Viu89r9VV 〔4/16 23:33〕
└▽<2153> Re:不具合:「開きません」のキャンセルが... novice 〔4/19 23:27〕
  └▽<2154> Re2:不具合:「開きません」のキャンセルが... 神楽 〔4/20 17:05〕
    └▽<2155> Re3:不具合:「開きません」のキャンセルが... novice 〔4/20 17:50〕
      └▽<2165> Re4:不具合:「開きません」のキャンセルが... 神楽 〔5/8 06:21〕
        ├▽<2166> Re5:不具合:「開きません」のキャンセルが... LR4 〔5/8 20:38〕
        │└▽<2168> Re6:不具合:「開きません」のキャンセルが... LR4 〔5/9 17:42〕
        ├▽<2172> Re5:不具合:「開きません」のキャンセルが... novice 〔5/11 16:44〕
        │├▽<2173> Re6:不具合:「開きません」のキャンセルが... LR4 〔5/11 17:52〕
        │├▽<2175> Re6:不具合:「開きません」のキャンセルが... LR4 〔5/12 17:50〕
        │└▽<2177> Re6:不具合:「開きません」のキャンセルが... LR4 〔5/13 18:25〕
        │  ├▽<2178> 代替案パッチ LR4 〔5/13 18:26〕
        │  ├▽<2179> noviceさん (--; 〔5/13 23:43〕
        │  └▽<2181> 代替案パッチ(改) 1/2 LR4 〔5/15 12:09〕
        │    └▽<2182> Re:代替案パッチ(改) 2/2 LR4 〔5/15 12:10〕 ≪
        │      └▽<2189> パッチ訂正 LR4 〔6/3 23:10〕
        └▽<2183> Re5:不具合:「開きません」のキャンセルが... もか 〔5/16 00:29〕
          └▽<2186> Re6:不具合:「開きません」のキャンセルが... LR4 〔5/16 09:50〕
            ├▽<2187> Re7:不具合:「開きません」のキャンセルが... LR4 〔5/16 10:30〕
            └▽<2188> Re7:不具合:「開きません」のキャンセルが... LR4 〔5/16 18:21〕
              └▽<2265> Re8:不具合:「開きません」のキャンセルが... syat 〔7/9 22:30〕

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.010]