Чтобы убрать эту пунктирную рамку придется вручную обрабатывать обновление содержимого компонента. У ListBox установите свойство Style = lbOwnerDrawVariable. Далее создаем обработчик события onDrawItem, который будет вызываться каждый раз когда происходит перерисовка содержимого.
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
// Закрашиваем место где перерисовываем
(Control as TListBox).Canvas.FillRect(Rect);
DrawText(
(Control as TListBox).Canvas.Handle,
PAnsiChar((Control as TListBox).Items[Index]),
Length((Control as TListBox).Items[Index]),
Rect,
Control.DrawTextBiDiModeFlags(DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX)
);
// Убираем рамку
if odFocused in State then DrawFocusRect((Control as TListBox).Canvas.Handle, Rect);
// Используем DrawFocusRect, который при повторном вызове убирает рамку
end;
Онлайн-бронирование путевок. Городской портал.
kvadroom.ru
В настоящее время изготавливают стильные и прочные надувные матрасы от изготовителей
lekass.ru
Просмотров: 3051
Copyright © 2008-2012 Программирование на Delphi для начинающих и не только
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации
Хостинг от uCoz