Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Посылка сообщения


Автор: bel_nikita 30.9.2004, 13:43
Есть диалог.
Есть события на нажатие клавиш:
Код
BEGIN_MESSAGE_MAP(CTest, CDialog)
//{{AFX_MSG_MAP(CTest)
ON_BN_CLICKED(ID_STOP_TEST, OnStopTest)
...
ON_BN_CLICKED(IDC_START_TEST, OnStartTest)
....
 //}}AFX_MSG_MAP
END_MESSAGE_MAP()

Как сделать, так, что бы при вызове метода OnStartTest() посылалось сообщение ID_STOP_TEST? Т.е. чтобы сработал метод OnStopTest().

PostMessage(), SendMessage(), SendDlgItemMessage и поиск нифига не дают. sad.gif

Автор: Step 30.9.2004, 14:06
а зачем так сложно, можно просто в OnStartTest вызвать OnStopTest

Автор: bel_nikita 30.9.2004, 14:23
Step
Не, это понятно, что можно. Мне это не подходит. Это я к примеру привел.
Вообще у меня ситуация такая. Есть форма диалог, которая в свою очередь создает thread. Этот thread че-та делает, в общем работает с переферией. Потом, например, thread получает от переферии какое-нить сообщение о завершении работы. И этот thread должен передать мессагу диалогу, т.е. моей диалог-форме. А та в свою очередь завершит thread и т.д.

Автор: Step 30.9.2004, 14:34
так сделай SendMessage(окно которому передаешь,WM_COMMAND,тут ид твоей команды, и дополнительный параметр)

обрабатывай сообщение WM_COMMAND в своем окне в зависимости от ид команды которая передана из потока

вроде так

Автор: bel_nikita 30.9.2004, 14:45
Уже дошло. Неправильно параметры посылал smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)