Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.03.2012, 21:41
xsaven xsaven вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 9
Репутация: 10
Вопрос как пронумеровать строки в listbox

как пронумеровать строки в listbox в delphi если уже данные в нем есть
Ответить с цитированием
  #2  
Старый 28.03.2012, 22:18
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

ListBox1.Style:=lbOwnerDrawVariable; или какй другой OwnerDraw

Код:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  tmp:string;
begin
  tmp:=IntToStr(Index+1)+' '+ListBox1.Items.Strings[Index];
  ListBox1.Canvas.TextOut(Rect.Left,Rect.Top,tmp);
end;
Ответить с цитированием
  #3  
Старый 28.03.2012, 22:30
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

В ListBox-е имется возможность сделать несколько колонок, в первую вносим номера, во-вторую данные (правда несколько геморойно). Но удобнее использовать ListView.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #4  
Старый 28.03.2012, 23:27
xsaven xsaven вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 9
Репутация: 10
Вопрос

Цитата:
Сообщение от cotseec
ListBox1.Style:=lbOwnerDrawVariable; или какй другой OwnerDraw

Код:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  tmp:string;
begin
  tmp:=IntToStr(Index+1)+' '+ListBox1.Items.Strings[Index];
  ListBox1.Canvas.TextOut(Rect.Left,Rect.Top,tmp);
end;
А куда вставлять данный код?
Ответить с цитированием
  #5  
Старый 28.03.2012, 23:37
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

В событие OnDrawItem ListBox'а. Выбираешь ListBox, в ObjectInspector'е на вкладке Events дважды кликаешь по строке OnDrawItem
Ответить с цитированием
  #6  
Старый 29.03.2012, 00:19
xsaven xsaven вне форума
Прохожий
 
Регистрация: 27.03.2012
Сообщения: 9
Репутация: 10
По умолчанию

мне помог вот этот код
PHP код:
for i:=0 to listbox1.Items.Count-do
listbox1.Items.Strings[i]:=inttostr(i+1)+'. 'listbox1.Items.Strings[i]; 
Ответить с цитированием
  #7  
Старый 29.03.2012, 00:30
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Ты уж выбирай или
Цитата:
Сообщение от xsaven
как пронумеровать строки в listbox в delphi если уже данные в нем есть
или заполнить ListBox данными с нумерацией строк. Это разные понятия. Тебе отвечали на прямо поставленный вопрос.
По нескольким топикам вижу, не можешь правильно сформулировать вопрос и разводишь из-за этого волынку.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter