Форум: "Начинающим";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];
ВнизВыделение записей в ListBox e Найти похожие ветки
← →
Washington © (2007-06-25 08:27) [0]Я уже говорил о своём планировщике. Выводятся записи в ListBox по дате. И мне теперь надо выделить их по месяцам. К примеру
Январь
------------
Февраль
------------
То есть когда выведены все записи между записями разных месяцов надо провести так сказать черту - это вообще возможно?
← →
Alarm © (2007-06-25 08:33) [1]Содержание ListBox ни как не связано ни с БД ни с SQL-запросом. Поэтому при наполнении ListBox, сам следи за сменой месяца и пиши в него строку любого содержания
← →
Washington © (2007-06-25 08:35) [2]Это понятно. Т.е. в событии OnDrawItem рисовать эти палочки-чёрточки? Как?
← →
Gloomer © (2007-06-25 08:50) [3]OnDrawItem???
А проще никак нельзя? Тебе же сказали - на этапе заполнения ListBox.
Сортируешь sql-запрос по дате. При заполнении проверяешь месяц. Если месяц не равен месяцу предыдущей записи, то сначала добавить "палочки-чёрточки", а потом саму запись...
← →
Washington © (2007-06-25 09:05) [4]Ну ладно, а как сами палочки-чёрточки то черкнуть?
← →
Anatoly Podgoretsky © (2007-06-25 10:06) [5]Так это же тире
← →
Washington © (2007-06-25 10:13) [6]Это я для примера тире сделал. А нормальную черту (к примеру красного цвета) можно жахнуть?
← →
homm © (2007-06-25 10:51) [7]> к примеру красного цвета
OnDrawItem
← →
Amoeba © (2007-06-25 10:52) [8]
> А нормальную черту (к примеру красного цвета) можно жахнуть?
Можно! В событии OnDrawItem.
← →
Washington © (2007-06-25 11:17) [9]Ну код то подскажите, а?
← →
Anatoly Podgoretsky © (2007-06-25 11:26) [10]> Washington (25.06.2007 11:17:09) [9]
А справку принципиально не признаем, а она с примером
← →
antonn © (2007-06-25 13:18) [11]
> А справку принципиально не признаем, а она с примером
а там нет примера по ограничению записей по месяцам и рисованием черточек под ними :)))
← →
Anatoly Podgoretsky © (2007-06-25 14:10) [12]Ну тогда пусть заказывает программу
← →
pohil © (2007-06-25 16:05) [13]
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;
Ну наверное так, работает криво, но если надо разберешься
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.054 c