win32 のメイン ウィンドウのメニュー項目クリックでチャット ウィンドウを実装しようとしています。メイン ウィンドウを作成し、次の方法でチャット ウィンドウを処理しています。
int CALLBACK TextChat::TextChatDlgProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
LPDRAWITEMSTRUCT pdis;
static HBRUSH hBrush;
static COLORREF GrayColor;
switch (uMsg)
{
case WM_COMMAND:
switch (LOWORD(wParam))
{
}
break;
case WM_CLOSE:
EndDialog(hwndDlg, 1);
return true;
break;
case WM_INITDIALOG:
{
CentreWindow(hwndDlg);
ShowWindow(hwndDlg,SW_SHOW);
UpdateWindow(hwndDlg);
return TRUE;
}
}
return 0;
}
int TextChat::DoDialog()
{
//CreateWindowEx(
return DialogBoxParam(this->m_pApp->m_instance,MAKEINTRESOURCE(IDD_CHAT_DIALOG),
NULL, (DLGPROC) TextChatDlgProc, (LONG) this->m_pCC);
}
そして、メニュー項目クリックのメインウィンドウから、次のようにしています:
case WM_SYSCOMMAND:
{
switch (LOWORD(wParam))
{
case ID_TEXT_CHAT:
if(thisClass->m_pTextChat == NULL)
thisClass->m_pTextChat = new TextChat(thisClass->m_pApp,thisClass);
thisClass->m_pTextChat->DoDialog();
だから私はVS2008を使用しており、デバッグ中にデバッガーは TextChatDlgProc 内に入りますが、 WM_INITDIALOG 内に入ることはなく、そのように戻ります。したがって、チャット ウィンドウ (リソース IDD_CHAT_DIALOG) は表示されません。この問題を解決するための指針は大歓迎です。ティア
よろしく、