Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > VB6 > Разрешение экрана юзера и большая форма |
Автор: ИгнатьевАлексей 26.12.2006, 11:45 |
Господа! Подскажите, плз! Вот есть у меня форма огромная, на ней контролов куча. На своем компе с разрешением 1600-1200 я еле-еле уместил эти контролы на форме. Юзер, естественно, будет пытаться запустить мою прогу на меньших экранных резрешениях. Почитал я посты на нашем люБимом форуме, и понял, что в таких случаях приходится программно располагать контролы при первичной загрузке формы (или неправильно понял?). Но в моем случае это навряд-ли получится, т.к. и при 1600-1200 я с трудом все разместил. Хочется использовать полосы прокрутки, т.е. , если у юзера разрешение компа 1600-1200, то он видит всю форму целиком, а если ниже, то пускай полосками прокрутки орудует. Вопрос в следующем - как это все сделать с наименьшими затратами? Может свойство какое у окна есть, чтобы оно само это организовало? Или вручную это прописывать все? ![]() Заранее благодарен! |
Автор: anian 26.12.2006, 13:10 |
Свойства у окна нету Вот тебе http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=31896&lngWId=1 на контрол, который реализует такое дело to mihanik: А ежели это какой-нить АРМ какого-нить агрегата, хде куча показаний выводится и все такое? Мало ли как...хочет человек скролить, хай скролит |
Автор: ИгнатьевАлексей 26.12.2006, 13:20 |
anian, спасибо, попробую! mihanik, у меня форма - будущая страница, где все в комплексе смотреть надобно, вот и не знаю, как быть. Скроллинг, в принципе, помог бы, имхо.... |
Автор: Naghual 26.12.2006, 22:47 | ||
А по подробнее? |
Автор: ИгнатьевАлексей 27.12.2006, 12:37 |
Naghual, Речь идет о генераторе функциональных схем. Юзер набирает на форме необходимую инфу..... Я пытаюсь сделать это удобно, т.е. автозаполнение, проверка и т.п. Фишка в том, что на этой форме еще и OLE-объект Visio. Юзер кликает по этому объекту, открывается Visio, юзер рисует часть схемы, сохраняет. А на форме производится ввод дополнительной инфы....Потом жмем на кнопку, и прога вырисовывает всю диаграмму, сохраняет в БД ....... Таким образом, мне никак закладки не сделать, как многоуважаемый mihanik советует..... Причем прогу эту я не сам придумал, а идею увидел у конкурентов, и у них форма красиво скролится. Вот так все запущено.... Буду рад советам!!! mihanik вот объясни мне такую вещь, плз! Вот, допустим, пишу я прогу для продажи, т.е. для многих машин. Много машин - разные разрешения. Как быть? Предположить самое маленькое разрешение, расставить контролы и быть спокойным. А те парни, у которых хорошее разрешение, пусть видят маленькое окошко, так что ли. Или учитывать всевозможные разрешения? Как это делается? |
Автор: Naghual 27.12.2006, 12:47 |
Эка вы замахнулись... С размахом... А не будет ли более рациональным, вызывать Visio по кнопке, а не через видимый оле? Ну и, для полной ясности, может предоставите нам скриншот вашего творения? |
Автор: mihanik 27.12.2006, 13:01 |
М-да... Ну, и задачка же у тебя... Тады - да. Тады - ой. Или скролинг, или какое-нибудь нетривиальное решение... Это вам не шахматы, - тут думать надо... |
Автор: ИгнатьевАлексей 27.12.2006, 13:08 | ||||||
Naghual,
Да не будь я поклонником и постоянным болельщиком Винграда!
А какая разница? Могу и кнопку сделать! Вся фишка в том, что юзер, заполняя поля с инфой, смотрит и на рисунок в видимом OLE.
Пожалуйста! Только как это сделать? Скриншот 5 метров. Добавлено @ 13:10 mihanik, Так как же исе нормальные программисты поступают, когда форму надо во весь экран делать? Мне это очень интересно! |
Автор: mihanik 27.12.2006, 13:11 |
gif - 8 цветов, 72 dpi? |
Автор: ИгнатьевАлексей 27.12.2006, 13:14 |
mihanik, а как тут вообще файлики вкладываются? Не пойму! |
Автор: Naghual 27.12.2006, 13:18 |
Используй кнопку "Ответить" в низу топиков а не пользуйся формой быстрого ответа. Вот тогда и увидиш КАК прикрепить файл. |
Автор: ИгнатьевАлексей 27.12.2006, 13:38 |
Ну вот. Смотрите. Это эскизный вариант, разрешение - 1200-1600. Внизу еще заполнение штампа планируется. |
Автор: Naghual 27.12.2006, 13:45 |
Ой, б..... А это что? Уже даже интересно... Ты поясни функционал... Добавлено @ 13:46 По центру - это Visio? |
Автор: ИгнатьевАлексей 27.12.2006, 13:55 | ||||
Это набросок только. Функционального смысла не имеет. А откуда такой интерес? Это из области автоматизации технологических процессов.
Точно! |
Автор: Naghual 27.12.2006, 14:05 |
Очень плохо! А если при реализации функционала, ты прийдеш к выводу, что вообще ВИД самой формы неприемлим? - тогда мы попросту переводим свое время!!! Ты бы определился все-таки... Не разобравшись в сути вопроса - не помогу. Если пользователь изменить объект Visio и по ходу нарушит расположение/растояние/и.т.д. пронумерованных квадратов, то все на смарку! |
Автор: mihanik 27.12.2006, 14:13 | ||
Понятия не имею. Я - "ненормальный" программист. Но идея прорисовывается.... У тебя на форме туча комбобоксов... А если делать прокрутку только вот этих вот комбобоксов, а не всей формы. Т.е. разместить их в эдаком фрейме... Правда у фрейма нет прокрутки. Придётся врукопашную всё это дело мутить... |
Автор: ИгнатьевАлексей 27.12.2006, 14:24 |
Naghual, С удовольствием поясняю. Эта форма - прототип функциональных схем, которые утверждены в нашей конторе испокон века. Юзер работает так: - в основной программе нажимает кнопку "Новая функц. схема" - открывается форма, которую ты видел - кликает по интегрированному OLE и рисует серединку, т.е. выбирает один из функциональных блоков устройства (в данном случае - контроллер), прорисовывает логику при помощи всем известных блочков типа "И", "ИЛИ" и др. - закрывает Visio с сохранением - работает с формой, т.е. заполняет входные и выходные сигналы. Тут я организовываю все удобства и проверки, дабы исключить ошибки - сохраняет все в БД. Генерирует самостоятельный лист Visio, печатает и т.п. Конечно же после этого глупый юзер может снова открыть OLE для редактирования и сломать все нафиг, но зачем это делать? Однако, если это произойдет, то на форме будет видно несоответствие. Поэтому мне и надо всю форму целиком показывать! И если бы у всех людей на планете на компах было 1600-1200, то проблем бы у меня не было! ![]() Добавлено @ 14:28 mihanik, спасибо за ответ! Скроллить буду, но все целиком. В принципе, то, что предложил уважаемый в начале поста (ссылка имеется ввиду) работает, но там еще поработать надо будет. Но я недоумеваю, почему это не предусмотрено на уровне стандартных средств! Ведь это везде применяется в Виндах! ![]() |
Автор: Naghual 27.12.2006, 14:31 |
Мда... Таки без прокрутки никак... Вот только горизонтальную прокрутку реализовать всего двумя состояниями: 1. Поля с лева и Визио; 2. Визио и Поля с права. И прокрутку делать не всего окна, а конкретно той части, где ты намутил туеву хучу контролов. |
Автор: ИгнатьевАлексей 27.12.2006, 14:35 | ||||
Ну как же не всего, если это все взаимосвязано? Вся и наглядность в том!
Массив - величайшее изобретение человечества! ![]() Я и рад бы не мутить, да не знаю таких контролов, чтобы таблици из строк вводить, да автозаполнение организовать! |
Автор: Naghual 27.12.2006, 15:18 | ||
Я лиш подразумевал прокрутку Красной области, но Не Синей. |
Автор: mihanik 27.12.2006, 15:38 |
Я мел в виду то, что предложил Naghual. Так грамотно будет... |
Автор: ИгнатьевАлексей 27.12.2006, 16:33 |
Naghual, mihanik, Совершенно согласен, господа! Спасибо вам! Тему пока не закрываю. anian предложил хорошую вещь, но надо с ней работать еще.... Может кто еще чего посоветует дельное! |
Автор: Naghual 27.12.2006, 17:02 |
Ну можно отказатся от Массива Комбиков. ![]() Показывай текущие значения параметров простыми Лейблами. (Оно и по памяти выгоднее на много получится). А при клике на лейбл, перемести невидимый комбик на новую позицию (позиция кликнутого лейбла), заполните его значениями и отобразите. Получится нечто вроде поведения окна Свойств объектов в ВБ. |
Автор: ИгнатьевАлексей 27.12.2006, 19:42 |
Naghual, Дельно! Спасибо, попробую! Возможно и выглядеть будет не так дико! |
Автор: profispb 30.12.2006, 12:53 |
Лучше создать ерархическое меню, закладки или формы. |