初めて質問いたします。
開発環境は、 OS WindowsXP 言語 VisualC++ Ver6.0 です。
AfxMessageBoxの”はい””いいえ”を英語化したい”Yes””No”のですが、
どなたかご存知の方教えてください。
メッセージボックスに対しては簡単には処理できないんじゃなかったかなぁ?
メッセージボックスを立ち上げる前にタイマー立ち上げて
タイマーが来たら、タイトルとかからメッセージボックスのハンドルを取得して
そこから「はい」ボタンのハンドルも取得して
SetWindowTextとか・・・・
タイマーじゃなければスレッドで立ち上げてから
タイマーが来た時と同じ処理とか・・・
全然はずしてるかもしれないけど・・・・
メッセージボックスに対するそのような設定で
一番簡単なのはダイアログボックスを作ることだったと思うけど・・・
SetLocaleInfo
IIIさん、RAPTさん ありがとうございました。
早速、SetLocaleInfoを調べてみます。
SetLocaleInfoしてしまうと、システム全体に影響がでるため、
SetWindowsHookExでフックした方がいいと思います。
一応サンプル。
# 動作確認はしていません。
HHOOK hMsgBoxHook;
LRESULT CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode>=0){
switch(nCode){
case HCBT_ACTIVATE:
SetWindowText(GetDlgItem((HWND)wParam, IDOK), YES));
return 0;
}
}
return CallNextHookEx(hMsgBoxHook, nCode, wParam, lParam);
}
int func()
{
hMsgBoxHook = SetWindowsHookEx(WH_CBT, CBTProc, NULL, GetCurrentThreadId());
int retval = MessageBox(hwnd, てきすと, きゃぷしょん, MB_OK);
UnhookWindowsHookEx(hMsgBoxHook);
return retval;
}