powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / [VB6] Узнать ширину контейнера из юзерконтрола.
3 сообщений из 28, страница 2 из 2
[VB6] Узнать ширину контейнера из юзерконтрола.
    #36846635
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЯ не хотел вдаваться в подробности, думал отмажусь упрощенным вариантом, не вышло. ага, то есть про layout ты знаешь. Это хорошо...

Shocker.ProНо есть один нюанс. Класс сам реализован не в виде Class Module, а в виде UserControl. Щас ты меня шишками закидаешь, как я неправ, ну уж очень не хочется на ночь глядя спорить о правильности этого подхода. То есть я кидаю на контейнер UserControl и он сам занимается кучей вещей по обслуживанию других контролов контейнера (в частности Layout, но это всего лишь одна из многих его задач). Почему? Для собственного удобства - к юзерконтролу привязаны пропертипейджи для легкости его настройки.ээээ.... ой. Тут не шишки а целиком кокосы надо кидать. Впрочем, я кажется понимаю откуда такое решение появилось - если в качестве контейнера всегда UserForm (или его потомки) выступает, то действительно так можно жить...

А отсюда... Нуууу...... Как вариант - сделай в пару к своему "внешнему располагателю" - UserControl "контейнер с лайаутом". Чтобы этот контейнер сам располагал свои контролы. Там будет достаточно немножко копи-паст кода из уже существующего. А дальше уже просто - на форму кидаешь "внешний" с контролами верхнего уровня, и "умные" контейнеры с контролами второго уровня.
В принципе, можно бы и без "внешнего" вообще, но тогда надо будет обязательно на форму вешать события по растягиванию "умного" контейнера (чтобы он практически подменил собой форму).
...
Рейтинг: 0 / 0
[VB6] Узнать ширину контейнера из юзерконтрола.
    #36846642
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlсделай
Дык эта...
Пока что все устраивает... разделить всегда успею, если нужда будет.
...
Рейтинг: 0 / 0
[VB6] Узнать ширину контейнера из юзерконтрола.
    #36849219
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, как я и говорил - коллекция ParentControls невыносимо глючная.
Стоило только взять побольше контролов и нате - Не хотите ли отправить отчет в мелкософтЪ?

В общем, с подачи Игоря сделал такую конструкцию:

Код: plaintext
1.
2.
3.
      Call GetClientRect(UserControl.ContainerHwnd, RC)
      ContWidth = Screen.TwipsPerPixelX * (RC.Right - RC.Left)
      ContHeight = Screen.TwipsPerPixelY * (RC.Bottom - RC.Top)
...
Рейтинг: 0 / 0
3 сообщений из 28, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / [VB6] Узнать ширину контейнера из юзерконтрола.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]