WM_ и диаловые окна

  • Автор темы iktomy
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

iktomy

Гость
#1
Доброго времени суток!
Есть такая трабла: имеется немодальное диалоговое окно, из него вызывается модальный диалог. Хочу узнать, какое WM_ получает первый немодальный диалог, когда закрываю второй (модальный), т.е. когда первый диалог становится активным. Просто нужно обновить данные в таблице первого диалога (во втором они добавляются). Перепробовал наверное все WM_ - никакого эфекта.
 
B

BAPBAP

Гость
#2
По моему немодальному окну никакого сообщения не посылается. Но ты сам можешь определить частное сообщение как
#define PM_REFRESH WM_USER+0
а из модального окна отправить послать сообщение немодальному с помощью функции SendMessage. Жаль, пример привести не смогу, документация сейчас не под рукой.
ЗЫ: надеюсь ты догадался, что в цикле обработки сообщний немодального окна надо добавить еще один переключатель switch для нашего нового сообщения PM_REFRESH :rolleyes: .
 
I

iktomy

Гость
#4
Нетушки, слабоват я пока в API и поэтому пишу в MFC
 
M

Mustang

Гость
#5
тада я ваще проблемы не ловлю...
если ты открываешь модальный диалог (насколько я понимаю - всё происходит в одном потоке!)
то выполнение программы не двинется дальше, пока функция DoModal(); не вернёт управление.
короче:
Код:
void CMyFirstDlg::OnShowButtonClick()
{
  SecondDlg  m_dlg; // - твой модальный диалог
  m_dlg.DoModal();  //после этой функции твоего диалога уже нет!
  .................
  .................   
  //производим обновление своего окна.
}
 
I

iktomy

Гость
#6
Ладно, растусую поподробнее. Первое немодальное диалоговое окно содержит элемент Таблица (Grid), который выводит данные из базы MySQL. Данные вводятся в базу из второго окна, модального. Сразу я пытался сделать так, что бы при вызове WM_DESTROY или WM_CLOSE, или вообще уничтожения другим способам модального окна в первом окне срабатывала функция, которая и выводит данные в таблицу. Но выдавалась ошибка о неправильном обращении к памяти. Дык вот, перепробовав все WM_ для первого немодального окна, я так и не добился того, что бы при активации окна (полосочка с заголовком меняет цвет с серого на синий (ну у кого как)). Вот так :D .
 
R

RDN_ResidentS

Гость
#7
Народ! Помогите пожалуйста!!!! У меня тоже проблема с программой которая использует немодальное диалоговое окно. Когда я запускаю программу, она выдает странные ошибки. Пробывал разобраться, так ничего и не помогло, я только начинаю изучать MFC и тут такие траблы...
 

Вложения

Статус
Закрыто для дальнейших ответов.