Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Resize формы

478
15 декабря 2003 года
XtreamAll
279 / / 01.10.2003
Есть ли какие то коэффициенты для масштабирования контролов формы?

В VB6...
...пытался сделать методом:
MyControl.Height = Form1.Height - x
MyControl.Width = Form1.Width -y
...получается не очень красиво
как можно это осуществить?
258
15 декабря 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by XtreamAll
Есть ли какие то коэффициенты для масштабирования контролов формы?

В VB6...
...пытался сделать методом:
MyControl.Height = Form1.Height - x
MyControl.Width = Form1.Width -y
...получается не очень красиво
как можно это осуществить?



Там все немного посложнее будет...
Проблемой маштабирования контролов на форме раньше всех озаботились аксесовцы и вот их духовный учитель и наствавник тов. Гетц спец. написал для этого удобный класс, который автоматом маштабирует все контролы на форме, т.о. чтобы они при любом разрешении выглядели как и задумавалось программистом...

Главная проблема заключается в том, что надо не только вычислить коэфф. между разрешениями, необходимо также учесть, что кол-во пикселей приходящихся на логический дюйм (в нашем случае это твипы) в разных разрешениях - разные. Например при 640*480 100 пикс. = 1500 твипам; 1024*768 100пикс.=1200 твипам

Тов. Гетц написал класс, который цепляется к любой форме и автоматом начинает следить за маштабированием (класс хорошо настраивается). Теперь у аксесовцев проблем никаких нет...

Если очень надо, могу завтра принести модуль (дома лежит).

478
15 декабря 2003 года
XtreamAll
279 / / 01.10.2003
В VB6 эта загадочная штукенция работает?
Если да, то жду завтрашнего дня с нетерпением!:P
258
16 декабря 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by XtreamAll
В VB6 эта загадочная штукенция работает?
Если да, то жду завтрашнего дня с нетерпением!:P



Ну, напрямую работать она канешна не будет, поскольку там стоит привязка через WithEvents к Access.Form (плюс пара ссылок на его собственный класс обработки ошибок)
Так что у тебя 2 варианта:
1. просто посмотреть код и взять оттуда готовые алгоритмы (там подробные комментарии, правда на англ.)
2. Переделать его под VB6

P.S. я захватил токо этот модуль, но в нем могут встречаться ссылки и на функции из других, так что если чего будет не хватать, пиши, а я пока начну перетаскивать другие модули. Чего не хватает точно, так это ссылку на его класс обработки ошибок, но его к VB6 не пришьешь, так что проще сразу заменить на MsgBox Err.Description

Если сможешь переделать(или самост. сделать по такой же идее) класс для автомат. маштабирования в VB6 - то честь тебе и хвала, думаю вещь будет популярной... сам могу оказать токо пассивно-совещательную помощь в виду отcутствия VB6.

258
16 декабря 2003 года
SergeySV
1.5K / / 19.03.2003
Модуль:
266
16 декабря 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by SergeySV


Ну, напрямую работать она канешна не будет, поскольку там стоит привязка через WithEvents к Access.Form (плюс пара ссылок на его собственный класс обработки ошибок)
Так что у тебя 2 варианта:
1. просто посмотреть код и взять оттуда готовые алгоритмы (там подробные комментарии, правда на англ.)
2. Переделать его под VB6

P.S. я захватил токо этот модуль, но в нем могут встречаться ссылки и на функции из других, так что если чего будет не хватать, пиши, а я пока начну перетаскивать другие модули. Чего не хватает точно, так это ссылку на его класс обработки ошибок, но его к VB6 не пришьешь, так что проще сразу заменить на MsgBox Err.Description

Если сможешь переделать(или самост. сделать по такой же идее) класс для автомат. маштабирования в VB6 - то честь тебе и хвала, думаю вещь будет популярной... сам могу оказать токо пассивно-совещательную помощь в виду отcутствия VB6.


Я тут как-то выкладывал пример кода обработчика ошибок. Он вполне рабочий и довольно близок к классам, описываемым в спец. литературе, только лишён всяких слишком навороченных примудростей. Можно воспользоваться им :) (http://forum.codenet.ru/showthread.php?threadid=13626&highlight=ErrDescr) Описание процедуры ErrDescr

478
16 декабря 2003 года
XtreamAll
279 / / 01.10.2003
Цитата:
Originally posted by mhaturov

Я тут как-то выкладывал пример кода обработчика ошибок. Он вполне рабочий и довольно близок к классам, описываемым в спец. литературе, только лишён всяких слишком навороченных примудростей. Можно воспользоваться им :) (http://forum.codenet.ru/showthread.php?threadid=13626&highlight=ErrDescr) Описание процедуры ErrDescr



Есть вопрос по этой процедуре:
Public Sub ErrDescr(Optional ErrNumb As Long, Optional ErrDescript As String, Optional ProcName As String)
ProcName - это шо?

258
16 декабря 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by XtreamAll


Есть вопрос по этой процедуре:
Public Sub ErrDescr(Optional ErrNumb As Long, Optional ErrDescript As String, Optional ProcName As String)
ProcName - это шо?



Хоть это и не моя функция, но для себя я писал нечто похожее, так что думаю что это просто имя процедуры, где произошла ошибка.
Т.е. ты вставляешь этот вызов в обработчике ошибок каждой используемой функции и т.о. всегда будешь знать в какой из них произошла ошибка, если у тебя еще ведется лог-файл ошибок, то понему удобно восстанавливать картину произошедшего, когда пользователь твоей программы начинать вопить, что она вылетела с ошибкой, а он ничего не делал

478
16 декабря 2003 года
XtreamAll
279 / / 01.10.2003
Цитата:
Originally posted by SergeySV


Хоть это и не моя функция, но для себя я писал нечто похожее, так что думаю что это просто имя процедуры, где произошла ошибка.
Т.е. ты вставляешь этот вызов в обработчике ошибок каждой используемой функции и т.о. всегда будешь знать в какой из них произошла ошибка, если у тебя еще ведется лог-файл ошибок, то понему удобно восстанавливать картину произошедшего, когда пользователь твоей программы начинать вопить, что она вылетела с ошибкой, а он ничего не делал



Это понятно!
А как получить имя процедуры?
Err.Source - не подходит...?

258
16 декабря 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by XtreamAll


Это понятно!
А как получить имя процедуры?
Err.Source - не подходит...?



Да никак не получить, ты просто сам пишешь "MySuperFunction" и все. Все равно же строчку вставляешь, что тебе стоит написать...
А Err.Source не подходит, потому что тебя же интересует в какой твоей функции произошла ошибка, а не то что твоя функция че-то там вызвала и уже в той произошла ошибка - нет, это конечно тоже интересно, поэтому у меня сохраняется и та и другая информация

478
16 декабря 2003 года
XtreamAll
279 / / 01.10.2003
Цитата:
Originally posted by SergeySV


Да никак не получить, ты просто сам пишешь "MySuperFunction" и все. Все равно же строчку вставляешь, что тебе стоит написать...
А Err.Source не подходит, потому что тебя же интересует в какой твоей функции произошла ошибка, а не то что твоя функция че-то там вызвала и уже в той произошла ошибка - нет, это конечно тоже интересно, поэтому у меня сохраняется и та и другая информация



В формах и классах, насколько я понял, Err.Source возвращает имя формы/класса соотв., а в простом модуле - имя проекта:D - ато я не знаю, что ошибка произошла где то в этом проекте...:D

266
16 декабря 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by XtreamAll


В формах и классах, насколько я понял, Err.Source возвращает имя формы/класса соотв., а в простом модуле - имя проекта:D - ато я не знаю, что ошибка произошла где то в этом проекте...:D


Посмотри примеры, которые описывались в http://forum.codenet.ru/showthread....hlight=ErrDescr - там все есть. Вызов обработчика - в описании подбора айтема в комбобоксе, ну а сам обработчик - ниже. Там же описано, какие бибоиотеки необходимо подключить для его работы:)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог