Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Почему не отображается диалог?Помогите, пожалуйста   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.052 c
15-1333244169
TUser
2012-04-01 05:36
2013.03.22
Все события невозможны


2-1338195526
Вовка
2012-05-28 12:58
2013.03.22
Сохранение файла gif


2-1332000787
alexdn
2012-03-17 20:13
2013.03.22
Компонент TRichEdit


2-1334405334
lord827
2012-04-14 16:08
2013.03.22
межпоточная защита данных


2-1330583173
Delphi2007
2012-03-01 10:26
2013.03.22
DBF и Memo поля