Форум: "Основная";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];
Вниз---|Ветка была без названия|--- Найти похожие ветки
← →
default (2003-04-12 03:10) [0]Мастера помогите кто знает...
Пишу компонент, при помещении его на форму он
создаёт окно(в конструкторе через CreateWindowEx)
Некоторые визуальные свойства этого окна можно редактировать в
Object Inspector-е через свойства компонента(то есть он инкапсулирует окно).
Но когда запускаешь приложение оно создаёт ещё одно окно(смещенное по местоположению)
Как этого избежать? Пробовал делать в конструкторе что-то типа
if "поменялся флаг, говорящий о том что тело констуктора выполняется уже не в первый раз"
then DestroyWindow("хендл окна, созданного при помещение компонента на форму"), но это
не работает...
Как ещё можно попробовать?
← →
Skier (2003-04-12 08:59) [1]>default
Т.е. ты пытаешься в своём компоненте использовать тот же
принцип что и в дельфийском TSaveDialog или TOpenDialog, которые
тоже инкапсулируют окно для работы с файлами ?
> Но когда запускаешь приложение оно создаёт ещё одно окно(смещенное
> по местоположению)
> Как этого избежать?
Немного не понятно... "ещё одно окно" это форма, на которую ты
кидаешь свой компонент ?
← →
Юрий Зотов (2003-04-12 09:25) [2]1. Не совсем понятна суть вопроса. Надо бы уточнить:
- это окно должно появляться в run-time (если да, то когда - сразу при создании компонента или при вызове какого-то его метода)?
- в design-time: достаточно ли только настроить свойства еще не существующего окна (как в TSaveDialog, например) или его надо обязательно показывать?
- от чего наследуется компонент?
2. > Но когда запускаешь приложение оно создаёт ещё одно окно
Видимо, CreateWindowEx вызывается дважды. Поставить на него BreakPoint и проверить, так ли это. Если да, то пройти отладчиком, просмотреть стек вызовов, найти причину, устранить.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c