![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несколько вопросов и предложений ...
Alexander © (2002-08-19 10:02:00)1. TKOLListView: нужно добавить событие OnColumnRightClick, иначе как мне сделать для заголовков столбцов своё контекстное меню?
2. TKOLListView: как добраться до свойства Tag у TKOLListViewColumn?
3. нужно добавить св-во Tag для TKolMenuItem
Vladimir Kladov (2002-08-24 11:07:00) [21]Руками в Object Inspector LVColOred установите в -1 для всех колонок.
Alexander (2002-08-23 08:28:00) [22]В том то и дело, что я программно ничего не делаю!
Всё создаётся через MCK визуально и Add(n) означает, что я в
"ListView1 columns" нажимаю кнопку "Add", а (n) означает позицию столбца, куда вставляю.
Таким образом Add(0) - добавляю нулевой столбец,
Add(1) - добавляю второй столбец - теперь их два,
Add(1) - добавляю третий столбец между уже созданными.
Получается: визуально они у меня в редакторе в нужной последовательности "0","2","1", а на деле - "0","1","2".
Естественно, что кроме значения Caption я ничего руками не меняю.
Vladimir Kladov (2002-08-22 20:24:00) [23]Как это независимо?
ListView1.LVColInsert( 2, "aaaa", taLeft, 50 );
- вставляет перед второй,
а
ListView1.LVColInsert( 1, "aaaa", taLeft, 50 );
- перед первой.
Смена порядка - это просто изменение логического порядка колонок.
Чтобы ее визуально видеть как вторую, а обращаться по индексу 4, к примеру.
Не совсем понятно, что такое Add(n), но полагаю, это
LVColInsert(n,...). Все-таки, яне пойму, что не так. Мой тест показал, что все в порядке, и столбцы видны именно там, где ожидалось, и индекс совпадает с их визуальным порядком, как и должно бы быть. Я правда нигде не смотрел и не менял LVColOrder. Если его поменять до вставки, последствия уже целиком на том, кто его менял, в смысле, пусть и дальше меняет. Но ведь LVColOrder никто не менял?
Alexander (2002-08-22 17:33:00) [24]Нет, всё делается с нуля. (Версия KOL последняя)
Вот последовательность действий при создании столбцов:
Add(0) -> LVColOrder[0]=0
Add(1) -> LVColOrder[0]=-1
LVColOrder[1]=1
Добавляю столбец между ними
Add(1) -> LVColOrder[0]=-1
LVColOrder[1]=1
LVColOrder[2]=0
И соответственно при запуске порядок: "0","2","1"
То есть тот столбец, который я добавил последним и добавляется последним! Независимо от того, куда я его добавил.
Vladimir Kladov (2002-08-22 17:16:00) [25]Может быть, проект был создан давно, и колонки получили по какой-то причине порядковый номер? Тогда задействуется это свойство специально, чтобы нарушить порядок колонок. Вообще, если изначально номера колонок совпадают с порядком (или порядок везде -1), то такого быть не должно.
Тогда, например, если было две колонки, и между ними вставлена еще одна, то обращение считается по индексу, т.е. прежние колонки имеют номера 0 и 2.
Alexander (2002-08-22 08:50:00) [26]И ещё, может я что не так делаю:
Стоит мне добавить с имеющимся столбцам ещё один где-нибудь в середине, то их порядок сразу меняется и приходится вручную по порядку назначать им правильное положение (значение LVColOrder)
Vladimir Kladov (2002-08-20 10:18:00) [27]1. TKOLListView: нужно добавить событие OnColumnRightClick, иначе как мне сделать для заголовков столбцов своё контекстное меню?
Ладно, глянем.
2. TKOLListView: как добраться до свойства Tag у TKOLListViewColumn?
Его в run-time не существует как объекта.
3. нужно добавить св-во Tag для TKolMenuItem
Аналогично.