Resize формы
В VB6...
...пытался сделать методом:
MyControl.Height = Form1.Height - x
MyControl.Width = Form1.Width -y
...получается не очень красиво
как можно это осуществить?
Есть ли какие то коэффициенты для масштабирования контролов формы?
В VB6...
...пытался сделать методом:
MyControl.Height = Form1.Height - x
MyControl.Width = Form1.Width -y
...получается не очень красиво
как можно это осуществить?
Там все немного посложнее будет...
Проблемой маштабирования контролов на форме раньше всех озаботились аксесовцы и вот их духовный учитель и наствавник тов. Гетц спец. написал для этого удобный класс, который автоматом маштабирует все контролы на форме, т.о. чтобы они при любом разрешении выглядели как и задумавалось программистом...
Главная проблема заключается в том, что надо не только вычислить коэфф. между разрешениями, необходимо также учесть, что кол-во пикселей приходящихся на логический дюйм (в нашем случае это твипы) в разных разрешениях - разные. Например при 640*480 100 пикс. = 1500 твипам; 1024*768 100пикс.=1200 твипам
Тов. Гетц написал класс, который цепляется к любой форме и автоматом начинает следить за маштабированием (класс хорошо настраивается). Теперь у аксесовцев проблем никаких нет...
Если очень надо, могу завтра принести модуль (дома лежит).
Если да, то жду завтрашнего дня с нетерпением!:P
В VB6 эта загадочная штукенция работает?
Если да, то жду завтрашнего дня с нетерпением!:P
Ну, напрямую работать она канешна не будет, поскольку там стоит привязка через WithEvents к Access.Form (плюс пара ссылок на его собственный класс обработки ошибок)
Так что у тебя 2 варианта:
1. просто посмотреть код и взять оттуда готовые алгоритмы (там подробные комментарии, правда на англ.)
2. Переделать его под VB6
P.S. я захватил токо этот модуль, но в нем могут встречаться ссылки и на функции из других, так что если чего будет не хватать, пиши, а я пока начну перетаскивать другие модули. Чего не хватает точно, так это ссылку на его класс обработки ошибок, но его к VB6 не пришьешь, так что проще сразу заменить на MsgBox Err.Description
Если сможешь переделать(или самост. сделать по такой же идее) класс для автомат. маштабирования в VB6 - то честь тебе и хвала, думаю вещь будет популярной... сам могу оказать токо пассивно-совещательную помощь в виду отcутствия VB6.
Ну, напрямую работать она канешна не будет, поскольку там стоит привязка через 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
Я тут как-то выкладывал пример кода обработчика ошибок. Он вполне рабочий и довольно близок к классам, описываемым в спец. литературе, только лишён всяких слишком навороченных примудростей. Можно воспользоваться им :) (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 - это шо?
Есть вопрос по этой процедуре:
Public Sub ErrDescr(Optional ErrNumb As Long, Optional ErrDescript As String, Optional ProcName As String)
ProcName - это шо?
Хоть это и не моя функция, но для себя я писал нечто похожее, так что думаю что это просто имя процедуры, где произошла ошибка.
Т.е. ты вставляешь этот вызов в обработчике ошибок каждой используемой функции и т.о. всегда будешь знать в какой из них произошла ошибка, если у тебя еще ведется лог-файл ошибок, то понему удобно восстанавливать картину произошедшего, когда пользователь твоей программы начинать вопить, что она вылетела с ошибкой, а он ничего не делал
Хоть это и не моя функция, но для себя я писал нечто похожее, так что думаю что это просто имя процедуры, где произошла ошибка.
Т.е. ты вставляешь этот вызов в обработчике ошибок каждой используемой функции и т.о. всегда будешь знать в какой из них произошла ошибка, если у тебя еще ведется лог-файл ошибок, то понему удобно восстанавливать картину произошедшего, когда пользователь твоей программы начинать вопить, что она вылетела с ошибкой, а он ничего не делал
Это понятно!
А как получить имя процедуры?
Err.Source - не подходит...?
Это понятно!
А как получить имя процедуры?
Err.Source - не подходит...?
Да никак не получить, ты просто сам пишешь "MySuperFunction" и все. Все равно же строчку вставляешь, что тебе стоит написать...
А Err.Source не подходит, потому что тебя же интересует в какой твоей функции произошла ошибка, а не то что твоя функция че-то там вызвала и уже в той произошла ошибка - нет, это конечно тоже интересно, поэтому у меня сохраняется и та и другая информация
Да никак не получить, ты просто сам пишешь "MySuperFunction" и все. Все равно же строчку вставляешь, что тебе стоит написать...
А Err.Source не подходит, потому что тебя же интересует в какой твоей функции произошла ошибка, а не то что твоя функция че-то там вызвала и уже в той произошла ошибка - нет, это конечно тоже интересно, поэтому у меня сохраняется и та и другая информация
В формах и классах, насколько я понял, Err.Source возвращает имя формы/класса соотв., а в простом модуле - имя проекта:D - ато я не знаю, что ошибка произошла где то в этом проекте...:D
В формах и классах, насколько я понял, Err.Source возвращает имя формы/класса соотв., а в простом модуле - имя проекта:D - ато я не знаю, что ошибка произошла где то в этом проекте...:D
Посмотри примеры, которые описывались в http://forum.codenet.ru/showthread....hlight=ErrDescr - там все есть. Вызов обработчика - в описании подбора айтема в комбобоксе, ну а сам обработчик - ниже. Там же описано, какие бибоиотеки необходимо подключить для его работы:)