Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2014, 23:16   #1
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию курсор listview

Всем привет. У меня 2 вопроса по курсору listview:



1 вопрос:Я делаю listview курсор бесцветным следующим кодом:
Код:
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
   if Item.Focused=true then
     begin
      item.Selected:=false;
      Sender.Canvas.Brush.Color := clWindow;
     end;
end;
но мне надо чтобы контур был не пунктирной обводкой(на картике это цифра 1) а сплошной черной линией, как это сделать?


2 вопрос:
Как убрать курсор на рисунке он под цифрой 2, он появляется когда ты еще не выбрал строку а лишь водишь по строкам, как от его убрать?
HTTqp вне форума Ответить с цитированием
Старый 13.05.2014, 06:14   #2
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

закрасить все поле через FillRect, отрисовать каждую строку самостоятельно со своими прихотями
ZuBy вне форума Ответить с цитированием
Старый 13.05.2014, 15:08   #3
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

Цитата:
Сообщение от ZuBy Посмотреть сообщение
закрасить все поле через FillRect, отрисовать каждую строку самостоятельно со своими прихотями
А как отрисовать рамку вместо пунктирной обводки? Я раньше не сталкивался, а в интернете мало что объясняется про отрисовку.
HTTqp вне форума Ответить с цитированием
Старый 13.05.2014, 15:22   #4
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Код:
Canvas.Rectangle
ZuBy вне форума Ответить с цитированием
Старый 13.05.2014, 15:36   #5
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

ZuBy , прошу не говори загадками. Вот ты дал Canvas.Rectangle, а прорисовывать как. Делаю так
Код:
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
  var
  Rect: TRect;
  begin
  if Item.Focused=true then
     begin
      item.Selected:=false;
      Canvas.Brush.Color:=clBlack;
Canvas.Rectangle(Left,Top,Rect.Right,Rect.Bottom);
Canvas.Font.Color:=clBlack;
     end;
end;
Ни какой реакции, нету, курсор вообще пропадает
HTTqp вне форума Ответить с цитированием
Старый 13.05.2014, 18:03   #6
ksvsvk
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 25
По умолчанию

Вы описали переменную Rect, но ее поля не инициализировали.
Left и Top в Вашем случае -- свойства формы, а не прямоугольника Rect.
ksvsvk вне форума Ответить с цитированием
Старый 13.05.2014, 21:25   #7
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

Цитата:
Сообщение от ksvsvk Посмотреть сообщение
Вы описали переменную Rect, но ее поля не инициализировали.
Left и Top в Вашем случае -- свойства формы, а не прямоугольника Rect.
а как тогда описать?
HTTqp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Курсор ListView HTTqp Компоненты Delphi 8 02.02.2014 15:38
Как перетащить элемент ListView в другой ListView? Paul Hindenburg Компоненты Delphi 5 26.01.2013 11:35
[C# + WPF] ListView. Узнать выделена ли строка в нём. ListView.View == GridView. Casper-SC WPF, UWP, WinRT, XAML 2 12.08.2010 19:04
уберите курсор (в конце программы верните курсор), HECTOR.A. Паскаль, Turbo Pascal, PascalABC.NET 2 05.06.2009 20:10
Курсор soonner Общие вопросы Delphi 3 11.05.2009 19:46