powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC, маршрутизация и "горячие клавиши"
2 сообщений из 2, страница 1 из 1
MFC, маршрутизация и "горячие клавиши"
    #33779388
NSFuimus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую описать проблему ... Есть MDI приложение, соответсвенно есть клиентские окна CMDIChildWnd, часть из них имеет встроенный CPropertySheet с сответствующим набором СPropertyPage; CMainFrame имеет панель инструментов, ее функционал продублирован набором "горячих клавиш" ... теперь возьмем к примеру операцию "печать": ID - ID_FILE_PRINT, "горячий ключ" - CTRL+P; запускаем CMDIChildWnd с CPropertySheet, встаем на какой-нибудь контрол (пусть editbox) и давим CTRL+P и ... ничего не происходит ...
обработчик ID_FILE_PRINT(и CTRL+P, соответственно) находится непосредственно в CMDIChildWnd ... ID_FILE_PRINT не приходит ни в CMDIChildWnd::OnCmdMessage ни в СPropertyPage::OnCmdMessage и CTRL+P не ловится в CMDIChildWnd::PreTranslateMessage ... CTRL+P ловится только в СPropertyPage::PreTranslateMessage сответсвенно в нем и пишу код типа выполнить функцию печати в CMDIChildWnd ... но это же гемморой писать СPropertyPage::PreTranslateMessage для каждой СPropertyPage в CPropertySheet ...
Может есть у кого-нибудь хоть какие то соображения как обойти эту ерунду ...
и што это вообще за ерунда такая
...
Рейтинг: 0 / 0
MFC, маршрутизация и "горячие клавиши"
    #33783616
NSFuimus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа нашел как сделать ... усе портит немодальный CPropertySheet ... нада дописать его типа подобным образом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
BOOL CViewPropertySheet::OnInitDialog() 
{
...
	m_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME));
...
}
BOOL CViewPropertySheet::PreTranslateMessage(MSG* pMsg)
{
	if (m_hAccel && ::TranslateAccelerator(m_hWnd, m_hAccel, pMsg))
	{
		return TRUE;
	}

	return CPropertySheet::PreTranslateMessage(pMsg);
}
хде HACCEL m_hAccel;
типа пользуйтесь кому нада ... :)
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC, маршрутизация и "горячие клавиши"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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