Сгладить TSpeedButton? - PullRequest
       7

Сгладить TSpeedButton?

2 голосов
/ 05 июня 2009

Есть ли способ принудительно перерисовать TSpeedButton ?

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

Ответы [ 2 ]

3 голосов
/ 05 июня 2009

Не похоже, что это то, что я могу воспроизвести без сенсорного экрана, но если я вас правильно понимаю, когда кто-то касается кнопки, она нагревается (либо поднимается вверх, если значение «Вниз» истинно, либо подсвечивается), но когда они касаются другой кнопки, она не вызывает выхода из мыши, поэтому она остается горячей. Это правильно?

Есть несколько способов это исправить. Вероятно, самое простое в каждом событии click - вызвать метод top, который убирает мышь с кнопки.

Mouse.CursorPos := Point(0,0);

Если этого недостаточно, вы можете отключить нажатую кнопку, убрать мышь, обновить ее и снова включить. Отключенная кнопка не может быть горячей. Возможно, вам понадобится таймер, который активирует кнопку после того, как она была отключена на секунду, когда мышь была перемещена из нее, но я держу пари, что простого перемещения мыши будет достаточно.

Кроме того, я всегда думал, что это сыр, когда на кнопке, которую я только что нажал, оставил курсор мыши, так что это сделает вашу сенсорную систему более классной.

2 голосов
/ 05 июня 2009

Вы пытались установить для свойства Flat значение True?

...