Понядобилось избавится от фокуса у сабжа. Нашел на королевстве пример:
TNoFocusTrackBar = class(TTrackBar)
private
protected
procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS;
public
function CanFocus: Boolean; override;
published
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 без рамки воокруг?