|
![]() |
#1 |
Участник
|
Я думаю, что Вы взялись за невероятно сложную задачу, не имея определенных знаний.
хендл окна можно получить с помощью функций WinAPI FindWindow и FindWindowEx. Иными словами, Вам нужно передавать в функцию Show некий параметр например (например название текущего окна) по которому можно с помощью выше указанных функций определить хендл окна вызвавшего метод Show грида. Далее тоже непростое дело - внедрить контрол в чужое окно, но и это можно сделать. Однако самое сложное, как мне кажется, будет дальше, когда Вам нужно будет управлять набором данных и в гриде и так чтобы клиент нава был в курсе ваших манипуляций. Ну например, вы в гриде удалили строку, надо чтобы не просто она удалилась а еще и отработал триггер OnDelete. Т.е. нужно хорошо разбираться в во внутренних функциях клиента нава, это как минимум дизассемблирование или отладка в SoftIce. Т.е. вы должны знать и уметь: 1. WinApi (технологии перехвата сообщений, субклассирование и тд) 2. Понимать как работает клиент NAV. 2. Уметь пользоваться отладчиками и дизасемблерами 3. ASM |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от del_negrozzz
![]() Я думаю, что Вы взялись за невероятно сложную задачу, не имея определенных знаний.
хендл окна можно получить с помощью функций WinAPI FindWindow и FindWindowEx. Иными словами, Вам нужно передавать в функцию Show некий параметр например (например название текущего окна) по которому можно с помощью выше указанных функций определить хендл окна вызвавшего метод Show грида. Далее тоже непростое дело - внедрить контрол в чужое окно, но и это можно сделать. Однако самое сложное, как мне кажется, будет дальше, когда Вам нужно будет управлять набором данных и в гриде и так чтобы клиент нава был в курсе ваших манипуляций. Ну например, вы в гриде удалили строку, надо чтобы не просто она удалилась а еще и отработал триггер OnDelete. Т.е. нужно хорошо разбираться в во внутренних функциях клиента нава, это как минимум дизассемблирование или отладка в SoftIce. Т.е. вы должны знать и уметь: 1. WinApi (технологии перехвата сообщений, субклассирование и тд) 2. Понимать как работает клиент NAV. 2. Уметь пользоваться отладчиками и дизасемблерами 3. ASM |
|
![]() |
#3 |
Участник
|
Получилось вставить на форму.
В C#, в конструкторе формы должен быть написан следующий код: hFocus = GetFocus(); // API-шная функция _ParentHwnd = hFocus; След. задача, как обрабатывать события из компонента в навижн. |
|