-
Maksim V. (01.11.09 23:58) [0]Здравствуйте. Необходимо запретить отрисовку рамки у выделенных элементов ListBox когда его окно сфокусировано. Вполне вероятно данная рамка рисуется через DrawFocusRect. если в родительском окне возвращать 0 в WM_DRAWITEM, можно убрать рамку. Интересует способ удаления этой рамки когда используется сабклассинг только самого элемента управления и WM_DRAWITEM в родительском окне не меняется. Спасибо.
-
> Maksim V. (01.11.09 23:58)
> Здравствуйте. Необходимо запретить отрисовку рамки у выделенных
> элементов ListBox когда его окно сфокусировано
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TListBox), Canvas do
begin
FillRect(Rect);
TextOut(Rect.Left, Rect.Top, Items[Index]);
if odFocused in State then
DrawFocusRect(Rect);
end;
end;
Только, нехорошо это, прятать фокус.
--
Regards, LVT.