PretranslateMessage for Modial dialog in ATL

Статус: Offline
Реєстрація: 05.02.2007
Повідом.: 36992
Ну что господа прграммисты, не заржевел ли еще моск от нудных вопросов снулеглотателей - как стать программистом?
Вот вам задачка для разминки ума :) Я еще со вчера разминаю :)
Есть Модальный диалог, Надобно в нем реализовать поддержку хоткеев и еще кучу разной фигни, короче нужен рабочий PretranslateMessage. Но засада в том, что стандартными способами - он никогда небудет вызван, ибо MessageLoop обслуживате только главное окно программы.
Так вот собственно кто с этим сталкивался? Есть какие нибудь другие решения, кроме предложенных мелкософтом, а именно, перед вызовом думодал - установить хук, и пользоваться хуком как претранслейтом?



Ну и че? Все тока молодежь загонять сопособны? Или неосталось мамонтов работающих (работавших) с Окнами на С++?
 
Останнє редагування:
три раза прочитал - нихера не понял, что тебе нада. :ги:
можешь поконкретнее задачу изложить?
 
Ему нужно реализовать поддержку клавиатурных акселераторов в модальном диалоге.
 
три раза прочитал - нихера не понял, что тебе нада. :ги:
можешь поконкретнее задачу изложить?

Нужны акселераторы (Хоткеи) в модальном диалоге. Приложение написано с использованием библиотеки WTL. Модальній диалог собственно тоже WTLный.
Для того что бы реализовать их поддержку нужно получить доступ к PretranslateMessage для модального окна. Но вот хер там, можно получить доступ только к PretranslateMessage главного окна.
Мелкософт предлагает ставить хук на оконную процедуру, ну и делать в ней то же что и в претранслейте. Но как то єто курбато как по мне. Вот и интересуюсь, біть может уже кто то придумал более красивое решение?



За неименеем других здравых идей сделал через жопу, по совету майкрософта. Тоесть через ХУК.
 
Останнє редагування:
Назад
Зверху Знизу