Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Вот я уперся, аж дымлюсь. Есть юзерконтрол. Он лежит на каком-то контейнере. Мне нужно изнутри юзерконтрола узнать некоторые параметры контейнера (пусть Width для определенности) Если юзерконтрол лежит на форме или фрейме, то я без проблем узнаю, используя Parent (даже не требуется Extender). Если же юзерконтрол лежит на другом юзерконтроле, я получаю "Object doesn't support this property or method", какие бы я комбинации не пробовал. Вот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 17:42 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
тестовый проектик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 17:50 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, А вот так не получается? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 17:51 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
The_PristА вот так не получается? Код: plaintext нет, та же ошибка проектик приложил - можно потыкать большая кнопка работает, маленькая - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 17:53 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, У меня вот такой код работает: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 18:06 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
The_PristУ меня вот такой код работает: Давайте, если вы не знаете, что такое юзерконтрол, не будете забивать топик бессмысленными сообщениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 18:08 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProДавайте, если вы не знаете, что такое юзерконтрол, не будете забивать топик бессмысленными сообщениями.Договорились. Последняя попытка и я больше в Ваши умные темы не лезу: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 18:25 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
The_Prist, Опять мимо. Мне нужен сам контейнер, а не его вложенные контролы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 18:31 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProThe_Prist, Опять мимо. Мне нужен сам контейнер, а не его вложенные контролы А, стоп, может и не мимо Ща буду экспериментировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 18:33 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
The_Prist Похоже, то, что нужно, спасибо огромное. Вообще, свойство ParentControls - вещь глючная. Я обнаружил, что работа с этой коллекцией при условии, что в ней более 15-20 контролов, приводит к аварийному завершению как IDE, так и скомпилированного exe-шника в произвольных местах, но довольно стабильно, поэтому я от нее отказался. Посмотрю, будет ли всплывать этот глюк при условии работы с единственным нулевым элементом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 18:42 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, не это? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 18:52 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, тю блин пока вернулся к компу :) в общем сорри за баян получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 18:53 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro , а для чего все это нужно? Может имеет смысл в свойство . Tag UserControl-а записывать имя Котрола-Родителя и затем при необходимости считывать? Ведь UserControl-ы Вы наверняка создаете не программно. Это будет намного менее глючно и более стабильно. К тому же можно всегда поменять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 20:52 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
The_Prist Shocker.Pro , а для чего все это нужно? Может имеет смысл в свойство . Tag UserControl-а записывать имя Котрола-Родителя и затем при необходимости считывать? Ведь UserControl-ы Вы наверняка создаете не программно. Это будет намного менее глючно и более стабильно. К тому же можно всегда поменять... 1) Я не понял, а для чего, собственно, это нужно? Как мне знание его имени поможет получить его ширину? 2) Это неудобно, ну представьте, вам каждый раз, когда вы размещаете кнопку на форме нужно в тэг кнопки вписать еще и имя формы. А также не забыть поменять все тэги, если сменилось имя формы. 3) Внешний контрол создается программно, хотя опять же не ясно, какое это имеет значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 20:58 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProКак мне знание его имени поможет получить его ширину?Поместите в свойство Tag UserControl-а значение имени рамки(UserControl21) Затем обработайте событие нажатия кнопки: Код: plaintext 1. 2. Вот Вы и получили нужное свойство нужного элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 21:22 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
The_PristShocker.ProКак мне знание его имени поможет получить его ширину?Поместите в свойство Tag UserControl-а значение имени рамки(UserControl21) Затем обработайте событие нажатия кнопки: Код: plaintext 1. 2. Вот Вы и получили нужное свойство нужного элемента. Ха! А ссылку на форму где самый вложенный юзерконтрол возьмет??? А если внешний контрол лежит не на форме, а на другом юзерконтроле? Ну и самое главное, как я могу вписать тэг для внутреннего юзерконтрола, если внешний юзерконтрол лежит на разных формах и, разумеется, имеет разные имена на них? Вы поймите - это библиотека, а не какие-то разовые конструкции. Нельзя делать привязку к конкретным объектам - только относительные ссылки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 21:29 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro Вы поймите - это библиотека, а не какие-то разовые конструкции. Нельзя делать привязку к конкретным объектам - только относительные ссылки.Я давно все понял. Ваше отношение ко мне какое-то странно-неприязненное. Я тоже не первый день в VB программирую. И для меня немного странны Ваши вопросы типа, как получить свойство контрола, зная его имя. Shocker.ProА ссылку на форму где самый вложенный юзерконтрол возьмет??? Вот Вам еще, вдруг не знаете. Из Tag можно и имя формы вытащить: Tag = "Form1,UserControl21" Код: plaintext 1. 2. 3. 4. Можно или нельзя делать привязки к объектам - это Вам решать. Вы проект делаете, я лишь пытаюсь помочь. И естественно всех аспектов Вашего проекта не знаю. Но с Вашей стороны вижу лишь язвительные усмешки и осуждения моих попыток Вам помочь. Дело Ваше - ищите методы сами.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 21:41 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
The_Prist, в таких случаях пишут +1, а где тот вич, который мне советовал кнопку гладить дурацким методом???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 21:47 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
The_PristЯ тоже не первый день в VB программирую. И для меня немного странны Ваши вопросы типа, как получить свойство контрола, зная его имя. Да блин, знаю я, разумеется, как получить ссылку на контрол, зная его имя, но ведь при условии, что мне доступна коллекция Controls. А вот это-то то как раз проблема, юзерконтрол заранее не знает, где он будет размещен и какова цепочка от него до корневой формы. Сплит я тоже знаю, сам постоянно советую его другим. Ваш совет записывать всю цепочку в tag выглядит... эм.... странным. Не решает это, в общем, проблему и создает кучу неудобств программисту, о чем я и попытался вам сказать. The_PristВаше отношение ко мне какое-то странно-неприязненное. Я вас поначалу спутал с другим товарищем тоже с ником из двух слов, удивившись первоначальным советом не в тему (без участия юзерконтрола). Приношу извинения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 21:53 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro Я вас поначалу спутал с другим товарищем тоже с ником из двух слов. Это ЦЭ??????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 21:57 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
offЦипихович ЭндрюShocker.Pro Я вас поначалу спутал с другим товарищем тоже с ником из двух слов. Это ЦЭ??????? ты себе льстишь я понял, что ошибся, просмотрев грамотные советы The_Prist-а в других топиках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 21:59 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, А чего ты собственно говоря хочешь добиться? В нормальном ГУИ, виджету не нужно ничего знать о контейнере. Контейнер знает о своих виджетах, а не наоборот. Мне сильно кажется что у тебя неверная постановка задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 22:59 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
White OwlА чего ты собственно говоря хочешь добиться? В нормальном ГУИ, виджету не нужно ничего знать о контейнере. Контейнер знает о своих виджетах, а не наоборот. Мне сильно кажется что у тебя неверная постановка задачи. Как насчет StatusBar? ;-) Это нормальный ГУИ? В общем задача похожа - контрол себя позиционирует в контейнере в зависимости от определенных настроек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 23:05 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProВ общем задача похожа - контрол себя позиционирует в контейнере в зависимости от определенных настроек.Угу... Переверни задачу: Не контрол себя позиционирует, а контейнер определяет размеры своих контролов. Займись изучением java и/или Qt-С++. Не обязательно переходить на них, просто посмотри как там сделана система отрисовки объектов в контейнере (система layout'ов). Возьми любой учебник по java например и прочитай главу про layout, просто чтобы идею понять. На практике: вешаешь на контейнер набор событий (изменение размеров, максимизировать/минимизировать) и сортированый массив ссылок на контролы. В массиве(ах) у тебя будет указано какой из контролов где должен находится относительно других контролов. Из событий пробегаешь по этому массиву и уже практически решаешь какие будут размеры и где будет находится каждый из контролов. StatusBar, кстати, тоже не сам себя отрисовывает. Его отрисовывает окно и оно-же решает где StatusBar должен находится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 23:27 |
|
||
|
[VB6] Узнать ширину контейнера из юзерконтрола.
|
|||
|---|---|---|---|
|
#18+
Ох-ох-ох. Я не хотел вдаваться в подробности, думал отмажусь упрощенным вариантом, не вышло. У меня сделана схема Layout для формы (загружается из БД в коллекцию и отрабатывает по Maximize/Restore и т.п.). Этим занимается (загрузкой и раскидыванием элементов) некий библиотечный класс, привязанный к контейнеру. Класс универсальный, контейнер произвольный. Но есть один нюанс. Класс сам реализован не в виде Class Module, а в виде UserControl. Щас ты меня шишками закидаешь, как я неправ, ну уж очень не хочется на ночь глядя спорить о правильности этого подхода. То есть я кидаю на контейнер UserControl и он сам занимается кучей вещей по обслуживанию других контролов контейнера (в частности Layout, но это всего лишь одна из многих его задач). Почему? Для собственного удобства - к юзерконтролу привязаны пропертипейджи для легкости его настройки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 23:43 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=119&tid=2159429]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 372ms |

| 0 / 0 |
