Спасибо, заработало с помощью ShowWindow(hWnd, SW_SHOWNORMAL). Вот у меня еще вопрос, извините что опять не совсем по теме, зато опять про диалоги)
Вообщем у меня диалог, а в нем я выбираю какой язык в программе использую. И вот почему то когда я его меня в диалоге, то меняется все кроме меню, которое я загружаю из dll. А если менять язык не в диалоге, а в меню, то все работает.
Вот сообщение о том что выбран Английский.
| Код | case ID_ENG: if(hr) FreeLibrary(hr); if(he) FreeLibrary(he); if(menu) DestroyMenu(menu); if(NULL==(he=LoadLibraryEx(/*(LPCSTR)*/TEXT("Language\\EngMenu.dll"),0,LOAD_LIBRARY_AS_DATAFILE))){ errorReport(); return 0; } menu=LoadMenu(he,MAKEINTRESOURCE(IDC_TTF)); SetMenu(hWnd, menu); EnableMenuItem(GetMenu(hWnd), IDM_ABOUT, MF_ENABLED); CheckMenuItem(GetMenu(hWnd), ID_ENG, MF_CHECKED); CheckMenuItem(GetMenu(hWnd), ID_RUS, MF_UNCHECKED); eng=true; rus=false;
|
А вот в диалоге я проверяю, где отмечено,и тогда посылаю нужное сообщение:
| Код | if(LOWORD(wParam)==IDC_APPLY) { if(SendDlgItemMessage(hDlg,IDC_RADIO1,BM_GETSTATE,0,0)){ SendMessage(WndParent,ID_RUS,0,0); rus=true; eng=false;} if(SendDlgItemMessage(hDlg,IDC_RADIO3,BM_GETSTATE,0,0)){ SendMessage(WndParent,ID_ENG,0,0); rus=false; eng=true;} return (INT_PTR)TRUE; }
|
|