Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не появляется немодальный диалог. / 7 сообщений из 7, страница 1 из 1
18.08.2004, 11:10
    #32654201
AF
AF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не появляется немодальный диалог.
void CMainFrame::OnDial()
{
Pr1_1 mainPr1_1;//class Pr1_1 : public CDialog
mainPr1_1.Create(IDD_DIALOG1);
mainPr1_1.SetWindowPos( &wndTopMost,10,10,70,60,SWP_SHOWWINDOW);
mainPr1_1.ShowWindow(SW_SHOW);
}
...
Рейтинг: 0 / 0
18.08.2004, 14:54
    #32654959
Sieben
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не появляется немодальный диалог.
Ошибку выдаёт?
mainPr1_1 инициализируется?
m_hWnd у него не 0?
Спай окно находит?
...
Рейтинг: 0 / 0
23.08.2004, 13:57
    #32661148
AF
AF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не появляется немодальный диалог.
1.Кто такой спай?

2.Проблема решилась следующим образом.
Объявил Pr1_1 переменной CMainFrame. Диалог появился.
Но все таки как его прямо из функции пустить?

3.А вот еще проблема.

//class AkGridclass : public CWnd
//AkGridclass akGrid;
void CMainFrame::OnAh2()
{
const RECT mRect = {100, 100, 640, 480};
akGrid.Create(_T("AkGrid_1"), NULL, WS_CHILD | WS_BORDER | WS_TABSTOP | WS_VISIBLE, mRect, this, WM_USER+3000);
}
Вот не появляется окно(akGrid) и усе тута.

4.Спасибо за внимание.
...
Рейтинг: 0 / 0
23.08.2004, 14:07
    #32661175
Siebentearbeit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не появляется немодальный диалог.
дело вот в чём,
ты объявляешь локальную переменную типа диалог, потом зовёшь фукнцию открытия диалога, диалог открывается, но как тока функция заканчивается, все локальные переменные умирают, и твой диалог тоже.
Чтоб не умирал - надо использовать указатель и выделять память под диалог... Тока я не знаю, как ты её потом будешь чистить.... Ну например в функции закрытия диалога можно сказать delete this

3. Под дебагом смотрел?
...
Рейтинг: 0 / 0
23.08.2004, 14:16
    #32661210
AF
AF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не появляется немодальный диалог.
Ну я ж говорю с проблемой 1. я разобрался ужо сам.
А вот как быть с наследником CWnd.

//class AkGridclass : public CWnd
//AkGridclass akGrid;
void CMainFrame::OnAh2()
{
const RECT mRect = {100, 100, 640, 480};
akGrid.Create(_T("AkGrid_1"), NULL, WS_CHILD | WS_BORDER | WS_TABSTOP | WS_VISIBLE, mRect, this, WM_USER+3000);
}
Вот не появляется окно(akGrid) и усе тута.
...
Рейтинг: 0 / 0
24.08.2004, 10:13
    #32662386
Siebentearbeit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не появляется немодальный диалог.
ёпрст:

3. Под дебагом смотрел?

под дебагом проверь у akGrid хэндл m_hWnd
если он нулевой - зови GetLastError()

если он не нулевой, бери спай и смотри его стиль и положение, чтоб он был визибл, чтоб он был первый в z-order и чтоб у него были разумные размеры.
...
Рейтинг: 0 / 0
24.08.2004, 13:08
    #32662861
AF
AF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не появляется немодальный диалог.
Спасибо. Просто AfxRegisterWndClass не вызвал и все. Так что AkGrid_1 имя класса не настоящее. Мои проблемы как видно гораздо просче.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не появляется немодальный диалог. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]