Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/41: Рейтинг темы: голосов - 41, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 89

Как зная Handle обратиться к объекту ?

12.09.2010, 11:46. Показов 9179. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И вообще можно ли так ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2010, 11:46
Ответы с готовыми решениями:

Как получить данные из TVirtualStringTree, зная его Handle?
Как прочитать данные первой колонки из TVirtualStringTree, зная его Handle. Для ListView делал так (правда в чужом процессе): ...

QML. обратиться к объекту, зная его id в string-e
Доброго времени суток. Суть такова: обработчик сигнала onVerification_cost_res: { ...

Как взять текст из окна, зная его Handle?
К примеру я знаю хэндл (hWnd) текстового окна в любой запущенной программе. Как мне взять из неё текст????? SendMessage(ом) работает,...

8
1 / 1 / 1
Регистрация: 26.08.2010
Сообщений: 133
12.09.2010, 12:32
Можно для потомков TWinControl.
Посылаем символ в мемо:
Delphi
1
SendMessage(Memo1.Handle, WM_CHAR, Ord('A'), 0);
0
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 89
12.09.2010, 12:45  [ТС]
c API я умею работать, мне интересно, есть ли какая нибудь функция которая, по handle вернет объект. Чтобы я мог напрямую обращаться к свойствам объекта.
0
1 / 1 / 1
Регистрация: 26.08.2010
Сообщений: 133
12.09.2010, 12:58
Насколько я знаю, функций, возвращающих указатель на Дельфи-объект по хэндлу, нет. Впрочем, не было необходимости разбираться в этом.
0
1 / 1 / 1
Регистрация: 26.08.2010
Сообщений: 133
12.09.2010, 13:03
Упс, был неправ:
Delphi
1
FindControl(ListBox1.Handle);
0
1 / 1 / 1
Регистрация: 26.08.2010
Сообщений: 133
12.09.2010, 13:06
В Controls в секции implementation есть функция:
Code
1
function ObjectFromHWnd(Handle: HWnd): TWinControl;
Посмотри реализацию и сделай подобную(копи+пасте).
0
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 89
12.09.2010, 13:18  [ТС]
Да, спасибо, это оно самое!
Но оно мне не помогло, т.к. у каждого элемента в TTreeView один и тот же Handle...... ЧТо мне очень удивило...
0
1 / 1 / 1
Регистрация: 26.08.2010
Сообщений: 133
12.09.2010, 13:37
Надо чаще в код VCL заглядывать:
Delphi
1
2
3
4
function TTreeNode.GetHandle: HWND;
begin
  Result := TreeView.Handle;
end;
И TTreeNode и TTreeNodes - хранят один хэндл - всего дерева.
0
danik_ik
11.10.2010, 14:43
У меня аналогичный вопрос, только надо получить объект из чужого приложения. Соответственно, разобрав код, я нашёл:
Delphi
1
2
  ControlAtomString := Format('ControlOfs%.8X%.8X', [HInstance, GetCurrentThreadID]);
  RM_GetObjectInstance := RegisterWindowMessage(PChar(ControlAtomString));
Мне известен только Handle окна. приложение написано на DELPI.
ThreadID я могу вычислить: GetWindowThreadProcessId(Handle).
А как с HInstance?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.10.2010, 14:43
Помогаю со студенческими работами здесь

Как обратиться к объекту?
Всем привет! y меня есть название объекта к которомy я хочy обратиться. string sname = "textBox" + Convert.ToString(i); ...

Как обратиться к объекту?
print_r($this->pagination_obj) выдает JPagination Object ( => 3 => 3 => 7 => => =>...

Как, зная Handle окна программы, определить имя EXE
Добрый вечер, вот такая проблема: нужно найти имя активного окна. Handle узнаётся с помощью GetForegroundWindow(), а как действовать...

Как получить информацию о другом окне, зная его Handle
Как получить информацию о другом окне если есть Хендл(расположение, заголовок, размеры и т.д.)? И чтобы не сорить в форуме еще один...

Как можно обратиться к объекту
ребят, подскажите) К объекту текущей формы можно обратиться ....(выбрать несколько ответов): .цена Dim rst as recordset . цена ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru