Форма в Lazaruse

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Джентельмен
постоялец
Сообщения: 162
Зарегистрирован: 16.10.2005 10:47:26
Откуда: Украина Донбасс Краматорск
Контактная информация:

Сообщение Джентельмен »

ЛЮДИ.....
тупой притупой вопрос:
1. как маштабировать форму под разное разрешение экрана???
2. как в BDGrid вызвать какое то событие при перемешении курсора на запись в БД, и при нажатии Enter, думал, искал, головой об стенку бился, так и не придумал как это зделать...

вообщем мне надо, есть DBGrid, стрелками вниз-вверх я перемещаюсь по записям, и мне надо:
1. при перемешении на запись должна выполница определенная процедура, и при нажатии entera на записи должна выполница еще одна процедура...

как это зделать?

и насчет маштабирования очень интересно...
Nikolay

Сообщение Nikolay »

Перемещение надо отслеживать в датасете - before\afterScroll.
Enter - OnKeyUp/Down... у гриды - там есть и SelectedField, чтобы знать по какому столбику ентернули
Масштабирование - Scaled у формы. Если получается криво, то это проблемы лазаря. В Delphi тоже не всегда красиво получается. Совет такой - разрабатывай с маленьким шрифтом и побольше отступы между контролами, все капшины - autosize = true, задавай выравнивания: если контрол справа от капшина, то вправо и т.д. Потом, меняй размер десктопа и не компилируя запускай - смотри где криво.
badaninslava
постоялец
Сообщения: 101
Зарегистрирован: 12.12.2005 00:21:44

Сообщение badaninslava »

1. как маштабировать форму под разное разрешение экрана???

М.б. при создании формы проверять "габариит" объекта Screen. Например,

Код: Выделить всё

Form1.Width:=round(Screen.Width)*2/3
Джентельмен
постоялец
Сообщения: 162
Зарегистрирован: 16.10.2005 10:47:26
Откуда: Украина Донбасс Краматорск
Контактная информация:

Сообщение Джентельмен »

Nikolay писал(а): Перемещение надо отслеживать в датасете - afterScroll.

Тебе за это памятник нужно поставить! :D
никогда бы сам не догадался... все заработало, именно так как и хотелось...
Ответить