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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2010, 11:38   #1
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию Визуальное разграничение строк

Возникла такая проблема. Надо или в memo или в richedit или в listbox визуально оградить строки друг от друга. Можно черточкой между ними. Можно цветом строк.
Подскажите в каком компоненте это лучше делать и как.
Спасибо.
zver777 вне форума Ответить с цитированием
Старый 25.04.2010, 11:55   #2
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Непонял в чом проблема?
Memo:
добовляете после каждой строки новую с текстом допустим
"--------------------------------------------"
RichEdit:
Код:
{ Просто добовляем цветную строку: }
 procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor);
 begin
   with ARichEdit do
   begin
     SelStart := Length(Text);
     SelAttributes.Color := AColor;
     SelAttributes.Size := 8;
     SelAttributes.Name := 'MS Sans Serif';
     Lines.Add(AText);
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   AddColoredLine(RichEdit1, 'Hallo', clRed);
   AddColoredLine(RichEdit1, 'Hallo', clGreen);
 end;

{ Зная номер строки: }
 procedure RE_ColorLine(ARichEdit: TRichEdit; ARow: Integer; AColor: TColor);
 begin
   with ARichEdit do
   begin
     SelStart := SendMessage(Handle, EM_LINEINDEX, ARow - 1, 0);
     SelLength := Length(Lines[ARow - 1]);
     SelAttributes.Color := AColor;
     SelLength := 0;
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   ZeileFaerben(RichEdit1, 4, clGreen);
 end;
P.S.: Код не проверял...
P.S.S.: Или у вас уже текст есть и нужно в нем розграничить ?
W0LF вне форума Ответить с цитированием
Старый 25.04.2010, 12:14   #3
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию

Надо чтобы сам текст остался неизменным. Допустим есть листбокс. Стандартно итемы между собой визуально никак не ограничены. Хотелось бы как то разгранисить их визуально.
zver777 вне форума Ответить с цитированием
Старый 25.04.2010, 12:43   #4
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Свойство DrawItem в ListBox...
W0LF вне форума Ответить с цитированием
Старый 25.04.2010, 12:44   #5
пауэрлифтинг
Заблокирован
 
Регистрация: 11.12.2009
Сообщений: 133
По умолчанию

у ListBox style делаеш = lbOwnerDrawFixed

потом пишеш в обработчике такой код
Код:
procedure TForm2.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin

  Listbox1.canvas.fillrect(rect);
  Listbox1.canvas.MoveTo(0, rect.Bottom);
  Listbox1.canvas.lineTo(rect.Right,rect.Bottom);
  Listbox1.canvas.textout(rect.left+2,rect.top, Listbox1.items[index]);



end;
пауэрлифтинг вне форума Ответить с цитированием
Старый 25.04.2010, 13:00   #6
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

ListBox.Style := lbOwnerDrawFixed;
Код:
begin
  with (Control as TListBox).Canvas do
  begin
    //Pen.Style := psDash;
    Pen.Color := $000080FF;
    MoveTo(0, Rect.Bottom);
    LineTo(Rect.Right, Rect.Bottom);
    TextOut(Rect.Left + 2, Rect.Top+2, (Control as TListBox).Items[index]);
  end;
end;
Только нужно зделать что-то с выдилением ячейки, как убрать я незнаю... От неё остаються следы...

P.S.: не успел . . .
W0LF вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разграничение прав на области листа Chelentano Microsoft Office Excel 11 07.02.2013 10:33
Разграничение прав доступа Len@09 БД в Delphi 24 03.11.2009 15:39
визуальное программирование abadonna Свободное общение 3 02.06.2009 13:51
Разграничение доступа vsurmach БД в Delphi 6 29.11.2008 12:01
не визуальное программирование zohar Общие вопросы Delphi 3 16.05.2007 20:08