![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Из DLL создать (winapi) контролы на форме приложения [D6, WinXP]
Бедро © (2006-07-10 14:45:00)Я пишу программу которая поддерживает плагины. Каждый плагин нужно настраивать. Внимание, вопрос :) как можно из DLL создать на форме приложения, в определенном месте, где укажет само приложение, различные контролы типа edit, button, radio/checkbox и др.? И как потом лучше считать информацию с созданных контролов (из приложения или DLL)?
GrayFace (2006-07-14 18:10:00) [1]Сергей М. © (14.07.06 15:26) [8]
Я это сразу после прошлого (своего) поста проверил. Перечисляет всех явных и неявных детей. Так что давай гоняй тесты, если не веришь.
atruhin (2006-07-14 15:57:00) [2]Не совсем в тему, но как вариант: почему бы не применить для создания GUI не плагины, а скриптовый язык. Ни каких проблем, скрипты редактируются прямо в редакторе. Есть библиотеки одновременно поддерживающие несколько языков и т.д.
Сергей М. (2006-07-14 15:26:00) [3]
> проверять, равен ли Parent дитя родителю, детей которого
> перечисляю.
>
Да что их проверять ?)
Ты указал в параметре Parent вызова EnumChildWindows() некое окно - дочерниеокна именно ЭТОГО окна и будут перечислены в колбэках... И никакие другие)
И где ту какой-то "автомат", где тут "рекурсия" ?
То что ты нагородил в колбэк-обработчике - это уже твои "навороты", к рекурсии во внутренней работе собственно ф-ции EnumChildWindows() это не имеет ни малейшего отношения.
GrayFace (2006-07-14 15:05:00) [4]Я знаю что говорю. Мне с этим пришлось немного боролся - проверять, равен ли Parent дитя родителю, детей которого перечисляю.
Сергей М. (2006-07-14 13:13:00) [5]
> GrayFace © (14.07.06 12:42) [5]
> автоматом рекурсивно все перечисляет.
Ерунду городишь.
GrayFace (2006-07-14 12:42:00) [6]EnumChildWindows
GrayFace (2006-07-14 12:42:00) [7]Кстати, он автоматом рекурсивно все перечисляет.
Сергей М. (2006-07-10 15:20:00) [8]В общем случае считай что никак.
В частном же (каждый контрол имеет свое собственное окно) достаточно рекурсивно перечислить окна, для которых окно формы является прямым или непрямым "родителем".
Бедро (2006-07-10 15:08:00) [9]Ага... Пойду читать апи-справку. В таком случае второй вопрос: как получить список всех контролов на форме (или панельке)?
Сергей М. (2006-07-10 14:57:00) [10]
> как можно из DLL создать на форме приложения, в определенном
> месте, где укажет само приложение, различные контролы типа
> edit, button, radio/checkbox и др.?
Как обычно - CreateWindow[Ex]