lazarus

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

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

Аватара пользователя
STAKANOV
энтузиаст
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV »

Иван Шихалев писал(а): VK_RETURN — код виртуальной клавиши. Размерностью, кажется, два байта… Зачем его к Char преобразовывать?

Похоже в библиотеках Lazarus VK_RETURN определен не как в модуле windows?
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

Речь идет о конструкции if key = Chr(VK_RETURN) что соответствует if key = #13

Не надо сравнивать теплое с мягким.
Replicator
постоялец
Сообщения: 154
Зарегистрирован: 30.04.2006 17:14:45
Откуда: Outer Heaven
Контактная информация:

Сообщение Replicator »

Надо так делать:

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

if key = VK_RETURN then {...}

Виртуальной код клавиши не зависит от системы и всегда одинаковый для той-же клавиши.
bara-igor
новенький
Сообщения: 63
Зарегистрирован: 04.03.2006 09:09:54

Сообщение bara-igor »

Replicator писал(а): Надо так делать:

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

if key = VK_RETURN then {...}

Виртуальной код клавиши не зависит от системы и всегда одинаковый для той-же клавиши.

Эта конструкция не работает, предложите,пожалуйста, что-то дугое!
bara-igor
новенький
Сообщения: 63
Зарегистрирован: 04.03.2006 09:09:54

Сообщение bara-igor »

Иван Шихалев писал(а):
Речь идет о конструкции if key = Chr(VK_RETURN) что соответствует if key = #13

Не надо сравнивать теплое с мягким.

Вы можете предложить какое-то решение без перехода на #13?
Replicator
постоялец
Сообщения: 154
Зарегистрирован: 30.04.2006 17:14:45
Откуда: Outer Heaven
Контактная информация:

Сообщение Replicator »

А на кокое событие? Если OnKeyPress, то там возвращается char и не надо никаких виртуальных клавиш. Если на OnKeyDown/OnKeyUp, то там именно виртуальный код и моя конструкция подойдет.

Вот другой код:

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

if key = #13 then {...}

Вы сами же его и привели.
bara-igor
новенький
Сообщения: 63
Зарегистрирован: 04.03.2006 09:09:54

Сообщение bara-igor »

У меня появились новые вопросы. Начну с самых простых:
1. Как изменить в Lazarus цвет кнопок и цвет шрифта в них?
2. В ShollBar, когда свойство Kind меняю sbVertical, то до компиляции-
все в порядке(прокрутка вертикальна), после компиляции - прокрутка
становится узкой горизонтальной полоской с отсчетом от середины. Объясните, пожалуйста, это недпработка компилятора или проблема с версией его(15) и как решить эту проблему?
DMA
новенький
Сообщения: 10
Зарегистрирован: 24.05.2005 18:59:19

Сообщение DMA »

Попробуй добавить в uses LCLType. У меня работает VK_RETURN, VK_TAB и все остальные.
haword
постоялец
Сообщения: 301
Зарегистрирован: 02.03.2006 10:34:40

Сообщение haword »

bara-igor писал(а):У меня появились новые вопросы. Начну с самых простых:
1. Как изменить в Lazarus цвет кнопок и цвет шрифта в них?
2. В ShollBar, когда свойство Kind меняю sbVertical, то до компиляции-
все в порядке(прокрутка вертикальна), после компиляции - прокрутка
становится узкой горизонтальной полоской с отсчетом от середины. Объясните, пожалуйста, это недпработка компилятора или проблема с версией его(15) и как решить эту проблему?

Ну как бы тебе сказать - СЫРОЙ ЭТО ЕЩЕ ПРОДУКТ! ПИШУТ ЖЕ ВО ВСЕХ ОКНАХ ЧТО ЭТО БЕТА БЕТА И ЕЩЕ РАЗ БЕТА! Я уже с такими глюками не раз сталкивался. Выход прост, все параметры прописывай руками в OnCreate у формы!
Ответить