Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Обработка нажатий клавиш вверх-вниз

Советы » Клавиши » Обработка нажатий клавиш вверх-вниз

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

procedure

TfmAbProps.edNameKeyDown(Sender: TObject; var

Key: Word; Shift: TShiftState); begin

if

(Key = vk_down) and

not

(ssAlt in

Shift) {// здесь обработка для "выпадающих" окошек типа TRxDBCalcEdit} then

begin

Key := 0; SelectNext(Sender as

TWinControl, true

, true

); end

else

if

Key = vk_up then

begin

Key := 0; SelectNext(Sender as

TWinControl, false

, true

); end

; end

;

Для элементов редактирования типа TDbEdit, TRxDBCalcEdit or TDBDateEdit назначим

OnKeyDown:=edNameKeyDown 

Сложнее с типами вроде TRxDBLookupCombo. Наш прежний обработчик для них не подходит. Я пытался изменить характер TRxDBLookupCombo - но вовремя опомнился - есть же FormKeyDown;

procedure

TfmAbProps.FormKeyDown(Sender: TObject; var

Key: Word; Shift: TShiftState); begin

if

(ActiveControl is

TRxDBLookupCombo) then

begin

if

Key = vk_down then

begin

if

not

(ssAlt in

Shift) and

not

// здесь нельзя обработать нажатие при вызове "выпадающего" (ActiveControl as

TRxDBLookupCombo).IsDropDown then

begin

// и в случае уже "выпвшего" Key := 0; selectnext(ActiveControl, true

, true

); end

; end

else

if

Key = vk_up then

begin

if

not

(ActiveControl as

TRxDBLookupCombo).IsDropDown then

begin

Key := 0; selectnext(ActiveControl, false

, true

); end

; end

; end

; end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com