Форум: "Основная";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
ВнизTListView Найти похожие ветки
← →
Германн © (2006-05-10 02:03) [0]Согласен, что мой вопрос дурацкий, но тем не менее. (я всё-таки не "дельфист", а "железячник" )
Нужен мне некий компонент, позволяющий выводить данные в табличном виде. При этом желательно иметь возможность строке иметь свою иконку, колонки в строке разрисовывать по своему.
Вроде как TListView - то, что надо. Но вот проблема - в Д4 TListView не обладает такими возможностями, имхо!
Перейти в более старшую версию Дельфи я не могу! Это мне никто не оплатит! (Работа слишком большая).
Или попытаться работать с ДЛЛ, соданной в Д6?
← →
Джо © (2006-05-10 02:24) [1]Насчет Д4 не знаю, у меня его нет проверить. Но, если так оно и есть, то предлагаю 2 варианта на вскидку.
1. В 6-й (или какой там?) версии сделать из TListView ActiveX-контрол. Импортировать использовать :)
2. Создавать этот элемент управления средствами Windows напрямую. Ну, и для управления использовать соответствующими методами. Посмотреть можно реализацию этой делфийской обертки в исходниках 5-й или 6-й версии.
3. А можно сразу ей и воспользоваться, переделав модуль ExtCtrls (или ComCtrls?) под 4-ку.
Сорри за сумбур, голова тяжелая.
← →
Германн © (2006-05-10 02:40) [2]
> Джо © (10.05.06 02:24) [1]
>
> Насчет Д4 не знаю, у меня его нет проверить. Но, если так
> оно и есть, то предлагаю 2 варианта на вскидку.
>
> 1. В 6-й (или какой там?) версии сделать из TListView ActiveX-
> контрол. Импортировать использовать :)
Подумаю.
> 2. Создавать этот элемент управления средствами Windows
> напрямую. Ну, и для управления использовать соответствующими
> методами. Посмотреть можно реализацию этой делфийской обертки
> в исходниках 5-й или 6-й версии.
Это я смотрел. Нужно много писАть.
> 3. А можно сразу ей и воспользоваться, переделав модуль
> ExtCtrls (или ComCtrls?) под 4-ку.
Это - самый большой "геморрой"! Имхо.
>
> Сорри за сумбур, голова тяжелая.
> <Цитата>
>
← →
Юрий Зотов © (2006-05-10 02:55) [3]Насколько помню, TListView в D4 все это умеет. И выводить данные в табличном виде, и назначать каждой строке свою иконку, и колонки разрисовывать по своему.
← →
Германн © (2006-05-11 02:29) [4]
> Юрий Зотов © (10.05.06 02:55) [3]
>
> Насколько помню, TListView в D4 все это умеет. И выводить
> данные в табличном виде, и назначать каждой строке свою
> иконку, и колонки разрисовывать по своему.
Не стал сразу отвечать. Сначала решил свои проблемы, потом попробовал ещё раз. Ничего не получилось! В смысле OnCustomDrawSubItem!/B>
Ну не заходит туда дебаггер! Кто виноват?
← →
Германн © (2006-05-12 01:22) [5]Не понимаю почему вышеописанное событие не вызывается?
Может кто-нибудь поможет в осмыслении справки?
В справке от Д6 по TListView о событии OnCustomDrawSubItem первой строкой идёт: "Occurs when a subitem must be rendered in an owner-draw list view." Не могу понять смысл термина "rendered" в данном контексте.
С учётом того, что в той же справке о событии OnAdvancedCustomDrawSubItem идёт "Occurs at discrete stages during the painting of a subitem in an owner-drawn list view."
Т.е. Чем "render" отличается от "paint"?
Кстати! Спасибо Максим, что аттрибуты текста нынче можно вставлять в позицию курсора!
← →
han_malign © (2006-05-12 09:43) [6]
> Насколько помню, TListView в D4 все это умеет.
- насколько я знаю - функциональнотсь оконного класса "SysListView32" - зависит только от версии Windows, а все, что не "обернуто" в VCL, можно "дообернуть" сообщениями LV_xxx/LVM_xxx/ListView_xxx .
Например, даже в D7 - ListView_GetSubItemRect приходиться "руками делать" - нет ни в TListView, ни в Help-е - хотя в CommCtrl.pas присутствует...
> Чем "render" отличается от "paint"?
OnCustomDrawSubItem - конкретно в момент отрисовки...
OnAdvancedCustomDrawSubItem - "at discrete stages during"
cdPrePaint Before painting.
cdPostPaint After painting.
cdPreErase Before erasing.
cdPostErase After erasing.
но лучше таки использовать - onGetSubItemImage...
← →
han_malign © (2006-05-12 09:48) [7]
> Не понимаю почему вышеописанное событие не вызывается?
- как ни странно, но OnCustomDrawSubItem работает только если OwnerDraw = False...
Неисповедимы пути...
← →
han_malign © (2006-05-12 09:58) [8]ну и, на всякий случай - ViewStyle = vsReport
← →
Германн © (2006-05-12 15:10) [9]
> - как ни странно, но OnCustomDrawSubItem работает только
> если OwnerDraw = False...
>
У меня не работает ни при False ни при True :-(
← →
@Lex © (2006-05-12 15:38) [10]>У меня не работает ни при False ни при True :-(
Если память не изменяет, сработает при добавлении SubItem т.е.
ListItem.SubItems.Add(...);
← →
Германн © (2006-05-12 16:06) [11]
> Если память не изменяет, сработает при добавлении SubItem
> т.е.
> ListItem.SubItems.Add(...);
>
В Д4 не работает никак. В Д6 всё ОК!
← →
Германн © (2006-05-13 01:57) [12]2 Джо © (10.05.06 02:24) [1]
> 2. Создавать этот элемент управления средствами Windows
> напрямую. Ну, и для управления использовать соответствующими
> методами. Посмотреть можно реализацию этой делфийской обертки
> в исходниках 5-й или 6-й версии.
> 3. А можно сразу ей и воспользоваться, переделав модуль
> ExtCtrls (или ComCtrls?) под 4-ку.
"2." не стал даже пробовать. Имхо - не потяну.
"3." Попробовал. Естественно, не пытаясь "переделать модуль ComCtrls под 4-ку". (Неочень мне хочется получить "Не Трогай Генофонд Зараза!" от некоторых мастеров :) Попытался создать новый компонент на основе исходников от Д6. Поначалу всё шло "тип-топ", но потом упёрлось в несовместимость ActnList.pas от Д4 и Д6. Тут я и обломился. :-(
Пункт 1 об ActiveX-контрол - Это сколько же я потрачу времени на обучение? Увы и Ах!
Короче принял решение О.Б. и Ш.Б., которые увидев "плакат о последнем арбатовском нововведении в область народного питания:
ПИВО ОТПУСКАЕТСЯ ТОЛЬКО ЧЛЕНАМ ПРОФСОЮЗА" решили удовлетвориться квасом, который, тем более, изготовляется "артелью частников, сочувствующих советской власти".
Пусть будет просто StringGrid или TRxCheckListBox. Что именно, выберу позже.
← →
Джо © (2006-05-13 02:20) [13]> Короче принял решение О.Б. и Ш.Б., которые увидев "плакат
> о последнем арбатовском нововведении в область народного
> питания:
> ПИВО ОТПУСКАЕТСЯ ТОЛЬКО ЧЛЕНАМ ПРОФСОЮЗА"
Гм... Как раз давеча перечитывал эту главу. В последнее время меня преследуют странные совпадения %-)
← →
Германн © (2006-05-13 02:38) [14]
> Джо © (13.05.06 02:20) [13]
>
> > Короче принял решение О.Б. и Ш.Б., которые увидев "плакат
>
> > о последнем арбатовском нововведении в область народного
>
> > питания:
> > ПИВО ОТПУСКАЕТСЯ ТОЛЬКО ЧЛЕНАМ ПРОФСОЮЗА"
>
> Гм... Как раз давеча перечитывал эту главу. В последнее
> время меня преследуют странные совпадения %-)
>
" Не ну "телепатия" у меня с женой - это факт! Но вот телепатия "у меня с "Кем бы то ни было ещё"?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.013 c