Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.067 c
8-1228318270
exkalement
2008-12-03 18:31
2013.03.22
Визуализация?


2-1335688376
SiDimka
2012-04-29 12:32
2013.03.22
Checkboxes DBGridEh 3.6


15-1343214796
AV
2012-07-25 15:13
2013.03.22
Торможу.. с перекрытием в наследнике функции


2-1332258565
Сергей
2012-03-20 19:49
2013.03.22
Как добавить новое поле в таблицу Oracle с помощью dbExpress?


2-1330947283
Vyacheslav
2012-03-05 15:34
2013.03.22
Две формы: FormStyle=fsStayOnTop.. Form2 всегда выше Form1?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский