![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TTrackBar без фокуса.
Kolan © (2008-04-05 16:34:00)Понядобилось избавится от фокуса у сабжа. Нашел на королевстве пример:
TNoFocusTrackBar = class(TTrackBar)
private
{ Private declarations }
protected
{ Protected declarations }
procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS;
public
{ Public declarations }
function CanFocus: Boolean; override;
published
{ Published declarations }
end;
function TNoFocusTrackBar.CanFocus: Boolean;
begin
Result := False;
end;
procedure TNoFocusTrackBar.WMSetFocus(var Message: TWMSetFocus);
begin
Message.Result := 0;
SendMessage(Message.FocusedWnd, WM_KILLFOCUS, 0, 0);
end;
К сожалению работает не всегда. Например, если создать форму, показать её то фокуса нет. Если форму скрыть и снова показать, то он появляется.
Так же он опявляется при изменении цвета формы например.
Вопросы:
1. Почему не всегда работает такой вариант?
2. Как реализовать TTrackBar без рамки воокруг?
Игорь Шевченко (2008-04-07 09:54:00) [1]
> 1. Почему не всегда работает такой вариант?
Потому что он неверный
> 2. Как реализовать TTrackBar без рамки воокруг?
Если TrackBar поддерживает рисование, то в момент рисования.
Есди не поддерживает, скачать с http://www.torry.netTrackbar без рамки фокуса.