Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.26;
Скачать: CL | DM;

Вниз

Из DLL создать (winapi) контролы на форме приложения   Найти похожие ветки 

 
Бедро   (2006-07-10 14:45) [0]

Я пишу программу которая поддерживает плагины. Каждый плагин нужно настраивать. Внимание, вопрос :) как можно из DLL создать на форме приложения, в определенном месте, где укажет само приложение, различные контролы типа edit, button, radio/checkbox и др.? И как потом лучше считать информацию с созданных контролов (из приложения или DLL)?


 
Сергей М. ©   (2006-07-10 14:57) [1]


> как можно из DLL создать на форме приложения, в определенном
> месте, где укажет само приложение, различные контролы типа
> edit, button, radio/checkbox и др.?


Как обычно - CreateWindow[Ex]


 
Бедро   (2006-07-10 15:08) [2]

Ага... Пойду читать апи-справку. В таком случае второй вопрос: как получить список всех контролов на форме (или панельке)?


 
Сергей М. ©   (2006-07-10 15:20) [3]

В общем случае считай что никак.
В частном же (каждый контрол имеет свое собственное окно) достаточно рекурсивно перечислить окна, для которых окно формы является прямым или непрямым "родителем".


 
GrayFace ©   (2006-07-14 12:42) [4]

EnumChildWindows


 
GrayFace ©   (2006-07-14 12:42) [5]

Кстати, он автоматом рекурсивно все перечисляет.


 
Сергей М. ©   (2006-07-14 13:13) [6]


> GrayFace ©   (14.07.06 12:42) [5]


> автоматом рекурсивно все перечисляет.


Ерунду городишь.


 
GrayFace ©   (2006-07-14 15:05) [7]

Я знаю что говорю. Мне с этим пришлось немного боролся - проверять, равен ли Parent дитя родителю, детей которого перечисляю.


 
Сергей М. ©   (2006-07-14 15:26) [8]


> проверять, равен ли Parent дитя родителю, детей которого
> перечисляю.
>


Да что их проверять ?)

Ты указал в параметре Parent вызова EnumChildWindows() некое окно - дочерние окна именно ЭТОГО окна и будут перечислены в колбэках... И никакие другие)

И где ту какой-то "автомат", где тут "рекурсия" ?

То что ты нагородил в колбэк-обработчике - это уже твои "навороты", к рекурсии во внутренней работе собственно ф-ции EnumChildWindows() это не имеет ни малейшего отношения.


 
atruhin ©   (2006-07-14 15:57) [9]

Не совсем в тему, но как вариант: почему бы не применить для создания GUI не плагины, а скриптовый язык. Ни каких проблем, скрипты редактируются прямо в редакторе. Есть библиотеки одновременно поддерживающие несколько языков и т.д.


 
GrayFace ©   (2006-07-14 18:10) [10]

Сергей М. ©   (14.07.06 15:26) [8]
Я это сразу после прошлого (своего) поста проверил. Перечисляет всех явных и неявных детей. Так что давай гоняй тесты, если не веришь.



Страницы: 1 вся ветка

Текущий архив: 2006.11.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.067 c
15-1162654645
DillerXX
2006-11-04 18:37
2006.11.26
to профи


15-1162586445
ProgRAMmer Dimonych
2006-11-03 23:40
2006.11.26
Наверное, уже неоднократно этот вопрос задавали, но...


15-1162969991
WhiteBarin
2006-11-08 10:13
2006.11.26
Помогите найти компонент как BalloonHint для трея?


6-1148471974
nopox
2006-05-24 15:59
2006.11.26
Уважаемые подскажите, как с помощью IdUDPClient1 передать на


2-1162973089
oooop
2006-11-08 11:04
2006.11.26
Цикл for.