Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ Builder

Войти
Регистрация
Восстановить пароль
 
Implosion_IT
-59 / 9 / 0
Регистрация: 24.12.2014
Сообщений: 88
#1

Какой Handle у формы из dll - C++ Builder

05.02.2015, 15:18. Просмотров 438. Ответов 4
Метки нет (Все метки)

Добрый день,
Суть проблемы:
Есть dll, в ней форма Form1
Создаю форму активирую её, теперь вопрос какой будет Handle этого окна при нажатии Msg.message==WM_KEYDOWN
или как мне узнать какой Handle у активного dll окна.
Т. е. Хочу нажать клавишу отловить Msg через ApplicationEventsMessage и понять какое Handle сейчас активного окна, и как можно Handle посмотреть через showmesage ?

я так понимаю что Msg.hwnd равен приложению на момент нажатия Msg.message==WM_KEYDOWN
а как бы мне связать и понять на какой форме нажимаются клавиши?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2015, 15:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какой Handle у формы из dll (C++ Builder):

Создание формы в dll - C++ Builder
Добрый день.Мне необходимо загрузить из dll функцию, во время выполнения которой долдна появиться форма с progressbaroм, который должен...

Создание формы в dll - C++ Builder
Добрый день! Задача простая: вызвать форму из dll (дальше на ней нужно будет делать много интересных штук,но с этим я разберусь) ...

Ошиба при закрытии формы, вызванной из dll - C++ Builder
Здравствуйте, есть программа, которая вызывает dll. В dll содержится форма, когда форма закрывается, то возникает ошибка , что не так? ...

Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? - C++
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете искал 64-битные версии ogg.dll, vorbis.dll...

Как засунуть форму из dll в TPanel главной формы приложения??? - C++ Builder
Есть следующий вариант вызова формы из dll с динамическим подключением: Код в dll: #include <vcl.h> #include <windows.h> ...

Сообщение "Privileged instruction" при запуске дочерней формы из DLL - C++ Builder
При попытке запустить дочернюю форму из DLL вылетает ошибка "Privileged instruction". Самое непонятное, что ошибка вылетает после события...

4
demmax2004
60 / 138 / 35
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
05.02.2015, 15:23 #2
Цитата Сообщение от Implosion_IT Посмотреть сообщение
теперь вопрос какой будет Handle этого окна
Form1->Handle
0
Implosion_IT
-59 / 9 / 0
Регистрация: 24.12.2014
Сообщений: 88
05.02.2015, 15:25  [ТС] #3
и как связать через Msg.hwnd и Form1->Handle ??
так не работает,
C++
1
2
3
if (Msg.message==WM_KEYDOWN&&Msg.hwnd==Form1->Handle) {
  showmessage("Ok");
}
0
demmax2004
60 / 138 / 35
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
05.02.2015, 15:34 #4
hwnd и Handle это одно и тоже

Добавлено через 49 секунд
Цитата Сообщение от Implosion_IT Посмотреть сообщение
Msg.hwnd==Form1->Handle
Значит не выполняется условие, потому что не равны.
0
Implosion_IT
-59 / 9 / 0
Регистрация: 24.12.2014
Сообщений: 88
06.02.2015, 07:20  [ТС] #5
Вот так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TfLogin::ApplicationEventsMessage(tagMSG &Msg, bool &Handled)
{
    if ((Msg.message==WM_KEYDOWN)&&(GetForegroundWindow()==fLogin->Handle)) {
        switch(Msg.wParam) {
            case vkReturn:
                ShowMessage("!!!");
            break;
            default:break;
        }
    }
 
}
Всем спасибо, вопрос закрыт
0
06.02.2015, 07:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2015, 07:20
Привет! Вот еще темы с ответами:

Как узнать handle окна к которому подключена dll - Delphi
Ставлю глобальных хук с помощью dll ( SetWindowsHookEx(WH_CBT, @WindowProc, HInstance, 0) ), мне нужно узнать handle окна к которому эта...

Handle формы - Delphi
Есть код var FdockForm : Tform; begin FdockForm := CreateForm; FdockForm.Handle; // значение 1 ,,,,,,,,, ...

Как получить handle формы? - C++/CLI WinForms
Создал форму способом описанным здесь: http://www.cyberforum.ru/blogs/390663/blog2003.html #include "MyForm.h" using namespace...

Как получить Handle элемента управления пользовательской формы? - VBA
Коллеги, привет !!! недавно столкнулся с тем, что невозможно нормально получить hWnd контрола... в среде VBA например, я знаю как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.