Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2012, 18:15   #1
RomanA
Пользователь
 
Регистрация: 10.08.2011
Сообщений: 30
По умолчанию Копирование Ctrl+C в немодальном диалоге (MFC)

Мне нужно реализовать копирование из двух статиков диалога по нажатию клавиш Ctrl + C.

Eсть главное окно программы, при нажатии определенной клавиши создается немодальный диалог, родительское окно которого рабочий стол:

Код:
dialog.Create(IDC_RESOURCE,  GetDesktopWindow());
dialog->ShowMessage(SW_SHOW);
Вот для этого диалога и возникает проблема при отлове нажатия клавиш (оно их вообще не ловит).

Пытался принудительно установить фокус ввода на форму, в обработчике OnMouseMove прописывал

Код:
this->SetFocus();
Но реакции никакой нет (в OnKeyDown даже не заходит). ХОтя в PreTranslateMessage заходит постоянно.

Запускал Spy++ и заметил особенность:
Форма получает сообщения движения мыши, но нажатия клавиш не реагирует, при этом размещенные на ней кнопки и в т. ч. статики с которых мне надо копировать текст сообщения, при нажатии Ctrl + C получают (когда их нажимаю в Spy++ для определенного контрола добавляется 8 новых строчек)

Пара вопросов:

1)Можно ли каким-нибудь образом заставить форму отлавливать сообщения, поступающие ее контролам (чтобы поймав нажатие Ctrl + C запустить функцию копирования в буфер)?

2)Можно ли запустить эту функцию при поступлении сообщения контролу (т. е. например статику, ведь Spy++ показывает, что это сообщение статику поступает?

Надеюсь, что кто-нибудь сможет мне помочь... а то я уже не знаю что и делать...

Последний раз редактировалось RomanA; 18.10.2012 в 18:17.
RomanA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод EOF c консоли - это Ctrl+Z и Ctrl+M Почему? 8Observer8 Общие вопросы по программированию, компьютерный форум 10 13.01.2023 09:33
Копировать текст из webbrowser в memo (включить ctrl+c ctrl+v) копировать - вставить Alar Работа с сетью в Delphi 13 12.07.2010 18:16
Автосатически нажать OK в диалоге eglantier Microsoft Office Excel 2 16.03.2009 16:27
Присвоение имени файлу в диалоге Beliyd Общие вопросы Delphi 3 05.09.2007 18:54