Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизПочему не отображается диалог?Помогите, пожалуйста Найти похожие ветки
← →
Artem (2012-08-29 22:39) [0]Спрашивал на сишном форуме - пока молчат.
INT_PTR CALLBACK MyInputDlgProc(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
switch(iMsg)
{
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
WCHAR Temp[256];
GetDlgItemText(hDlg, IDC_EDIT1, Temp, 50);
CharToOem(Temp, TempName);
EndDialog(hDlg, FALSE);
break;
case IDCLOSE:
EndDialog(hDlg, FALSE);
break;
}
case WM_DESTROY:
DestroyWindow(hDlg);
break;
default:
return FALSE;
}
return TRUE;
}
....
CreateDialog(hInst, MAKEINTRESOURCE(IDD_INPUTBOX), hWnd, MyInputDlgProc); // this is simplisity passed
← →
Дмитрий С © (2012-08-29 23:02) [1]Создать то ты его создал, а показывать кто будет? Почитай msdn, там даже примеры есть.
← →
DVM © (2012-08-29 23:04) [2]покажи RC файл с диалогом.
WS_VISIBLE флаг там есть у диалога?
http://msdn.microsoft.com/en-us/library/windows/desktop/ms645434(v=vs.85).aspx
Remarks
The CreateDialog function uses the CreateWindowEx function to create the dialog box. CreateDialog then sends a WM_INITDIALOG message (and a WM_SETFONT message if the template specifies the DS_SETFONT or DS_SHELLFONT style) to the dialog box procedure. The function displays the dialog box if the template specifies the WS_VISIBLE style. Finally, CreateDialog returns the window handle to the dialog box.
After CreateDialog returns, the application displays the dialog box (if it is not already displayed) by using the ShowWindow function. The application destroys the dialog box by using the DestroyWindow function. To support keyboard navigation and other dialog box functionality, the message loop for the dialog box must call the IsDialogMessage function.
← →
Artem (2012-08-29 23:21) [3]DVM © (29.08.12 23:04) [2]
Спасибо
Сделал так:
[code]
HWND hInput = CreateDialog(hInst, MAKEINTRESOURCE(IDD_INPUTBOX), hWnd, MyInputDlgProc);
ShowWindow(hInput, SW_SHOWNORMAL);
[/code]
Ну почему-то после ShowWindow трассировка идет дальше а не замирает до тех пор пока не закрыт диалог??...
← →
DVM © (2012-08-29 23:38) [4]
> Ну почему-то после ShowWindow трассировка идет дальше а
> не замирает до тех пор пока не закрыт диалог??...
ну так он у тебя на то и модальный диалог, так и должно быть
← →
Artem (2012-08-29 23:42) [5]DVM,
Так что ли делать?HWND hInput = CreateDialog(hInst, MAKEINTRESOURCE(IDD_INPUTBOX), hWnd, MyInputDlgProc);
ShowWindow(hInput, SW_SHOWNORMAL);
while (DialogOpen);
Я просто думал как в MessageBox? Как так сделать? Или есть ли есть аналог InputBox"a...
← →
DVM © (2012-08-29 23:44) [6]
> Artem (29.08.12 23:42) [5]
> Я просто думал как в MessageBox? Как так сделать? Или есть
> ли есть аналог InputBox"a...
чего ты хочешь сделать я не пойму
← →
Artem (2012-08-29 23:47) [7]DVM © (29.08.12 23:44) [6]
Аналог Delphi-йского ShowModal.
Мне нужно после того как я будут введены данные в диалог их обработать...
← →
DVM © (2012-08-29 23:48) [8]
> Artem (29.08.12 23:42) [5]
а, все понял, у тебя как раз не модальный диалог, а тебе надо чтоб модальный?
← →
Artem (2012-08-29 23:50) [9]DVM © (29.08.12 23:48) [8]
Да
← →
DVM © (2012-08-29 23:50) [10]
> Artem (29.08.12 23:50) [9]
DialogBox()
← →
DVM © (2012-08-29 23:53) [11]
> Artem (29.08.12 23:50) [9]
http://msdn.microsoft.com/en-us/library/windows/desktop/ms644996(v=vs.85).aspx#modal_box
← →
Artem (2012-08-30 00:11) [12]Спасибо большое
Понимаю, что достал. Но только устанавливаю курсор в поле ввода диалог сразу закрывается. Почему?
← →
Artem (2012-08-30 01:04) [13]А нет - всё теперь заработало...
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.077 c