Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выделение записей в ListBox'e


Washington ©   (2007-06-25 08:27:00) 

Я уже говорил о своём планировщике. Выводятся записи в ListBox по дате. И мне теперь надо выделить их по месяцам. К примеру
Январь
------------
Февраль
------------
То есть когда выведены все записи между записями разных месяцов надо провести так сказать черту - это вообще возможно?


pohil   (2007-06-25 16:05:00) [1]

procedure TForm3.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
 with ListBox1.Canvas do begin
     Brush.Color := clWhite;
     Pen.Color := clWhite;
     Rectangle(Rect);
 end;
 if (ListBox1.Items[Index] = '-') then
 begin
   with ListBox1.Canvas do begin
     Pen.Color := clRed;
     MoveTo(Rect.Left, (Rect.Bottom - Rect.Top) div 2);
     LineTo(Rect.Right, (Rect.Bottom - Rect.Top) div 2);
   end;
 end
 else begin
   ListBox1.Canvas.TextOut(Rect.Left, Rect.Top, ListBox1.Items[Index]);
 end;
end;

Ну наверное так, работает криво, но если надо разберешься


Anatoly Podgoretsky   (2007-06-25 14:10:00) [2]

Ну тогда пусть заказывает программу


antonn   (2007-06-25 13:18:00) [3]


> А справку принципиально не признаем, а она с примером

а там нет примера по ограничению записей по месяцам и рисованием черточек под ними :)))


Anatoly Podgoretsky   (2007-06-25 11:26:00) [4]

> Washington  (25.06.2007 11:17:09)  [9]

А справку принципиально не признаем, а она с примером


Washington   (2007-06-25 11:17:00) [5]

Ну код то подскажите, а?


Amoeba   (2007-06-25 10:52:00) [6]


> А нормальную черту (к примеру красного цвета) можно жахнуть?

Можно! В событии OnDrawItem.


homm   (2007-06-25 10:51:00) [7]

> к примеру красного цвета

OnDrawItem


Washington   (2007-06-25 10:13:00) [8]

Это я для примера тире сделал. А нормальную черту (к примеру красного цвета) можно жахнуть?


Anatoly Podgoretsky   (2007-06-25 10:06:00) [9]

Так это же тире


Washington   (2007-06-25 09:05:00) [10]

Ну ладно, а как сами палочки-чёрточки то черкнуть?


Gloomer   (2007-06-25 08:50:00) [11]

OnDrawItem???
А проще никак нельзя? Тебе же сказали - на этапе заполнения ListBox.
Сортируешь sql-запрос по дате. При заполнении проверяешь месяц. Если месяц не равен месяцу предыдущей записи, то сначала добавить "палочки-чёрточки", а потом саму запись...


Washington   (2007-06-25 08:35:00) [12]

Это понятно. Т.е. в событии OnDrawItem рисовать эти палочки-чёрточки? Как?


Alarm   (2007-06-25 08:33:00) [13]

Содержание ListBox ни как не связано ни с БД ни с SQL-запросом. Поэтому при наполнении ListBox, сам следи за сменой месяца и пиши в него строку любого содержания


Наверх

Титульная страница Поиск, карта сайта Написать письмо