Alexbootch, похоже, это глюк не StringTabl'a. Компоненту какой контекст для отрисовки дают, на том он исправно и отрисовывает. Дадут контекст парента, он и на нем и отрисует (что он и делает). Тут, похоже, метод LVCustomDraw в KOL'e глючит.
Этот топик читают: Гость
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
карма: 22 |
|
Ответов: 1891
Рейтинг: 110
|
|||
nesco, писал(а): Тут, похоже, метод LVCustomDraw в KOL'e глючит.nesco, а исправить это нельзя? |
|||
карма: 0 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Alexbootch, я пока не знаю, не получается, думать надо. Не понятно, с чем связана потеря контролом Handle а затем, уже как следствие, потеря контекста отрисовки. Я пробовал другой метод отрисовки, захватывая напрямую Handle контрола и его контекст, но песня та же -- ни с хр... начинает отрисовывать на родительском контексте.
|
|||
карма: 22 |
|
Ответов: 5446
Рейтинг: 323
|
|||
nesco, вопрос: почему при щелчке ПКМ на StringTable с непустым выделением событие onMouseUp не возникает? Половина ответа: зачем-то сделано выделение строки по щелчку ПКМ на ней (а не только левой), что и глушит событие.
Забавный факт: если сделать двойной клик ПКМ, то событие возникает! |
|||
карма: 1 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
iarspider, onMouseUP отрабатывает родитель, а не компонент, и почему он так работает надо бы спросить у "сильных мира сего"?
------------ Дoбавленo: Alexbootch, ты в b167 больше табличный глюк не проверял? Он у меня куда-то самоустранился, хотя и был. Как я его только не мучал, исчез он куда-то. |
|||
карма: 22 |
|
Ответов: 1891
Рейтинг: 110
|
|||
nesco, писал(а): Alexbootch, ты в b167 больше табличный глюк не проверял? Он у меня куда-то самоустранился, хотя и был. Как я его только не мучал, исчез он куда-то.Нет еще. Сейчас посмотрю [size=-2]------ Добавлено в 01:02 Блин, а у меня все по-старому |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
nesco, вы чего продолжаете выделываться-то
Я же постился уже здесь о том, что KOL не сумел сделать последний перехват для ListView. Если сие непонятно было, так кто спросить-то не давал - не пойму... А дальше - хучь в ухо мочись: сообщения направляются прежде всего в какой-то Билловский обработчик, а вовсе не в KOL с его мышачьими event-ами И придут ли они вообще в KOL-овские обработчики - только Биллу и известно |
|||
карма: 9 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Galkov, я ж не к тому. Интересный факт, что у меня этот глюк исчез. А вот с чем это связано, не знаю? Да и последний пост был на эту тему в августе. А то, что форум добавил его ноябрем к старому посту, я-то тут причем?
------------ Дoбавленo: Alexbootch, я кое-чего поправил в отрисовке контекстов. На SVN лежит поправленная версия MT_555CB. Мне интересно, будет ли наблюдаться сейчас этот глюк? Боюсь, что не в "мышачьих event-ах" дело было. |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
nesco писал(а): Боюсь, что не в "мышачьих event-ах" дело былоnesco, у тебя с логикой-то все в порядке 1) оконная ф-я конкретного экземпляра ListView уходит в виндячие библиотеки: ты что, сам этого факта проверить не можешь 2) если сообщения (типа WM_MOUSEXXX) НЕ доходят (по внутренним соображениям Билла) до оконной ф-ии класса, то причем здесь все фиксинги в ней |
|||
карма: 9 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Galkov писал(а): если сообщения (типа WM_MOUSEXXX) НЕ доходят (по внутренним соображениям Билла) до оконной ф-ии класса, то причем здесь все фиксинги в нейДа причем здесь мышь, когда срыв контекста происходил совсем по другим причинам. Там явный баг был из за переполнения GDI буфера, который проявился в другом месте -- точно также и точно на этой же функции сорвало контекст безо всякого движения мышью, и я нашел почему, после фиксинга, этот срыв пропал. Ну нельзя вот так делать, а я сделал.
Чем больше обращений, тем быстрее сорвет контекст. ------------ Дoбавленo: Я совершенно не оспариваю твои утверждения по поводу "Билловского обработчика", вот почему и спросил -- пропал этот глюк, или не пропал? Чтобы знать это из-за отрисовки, или по твоему утверждению. |
|||
карма: 22 |
|
Ответов: 1891
Рейтинг: 110
|
|||
nesco, подскажи, что надо сделать что бы в компоненте StringTableMT_500 включить режим мультистрочного отображения? Вроде ставлю TableWBreak=True, но строки не отображаются в указанном режиме, а пример, данный тобою на первой странице вставляет вместо StringTableMT_500 компонент StringTable, т.к. схемка была для StringTableMT_470
|
|||
карма: 0 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Для поддержки мультистрочности необходим поддержка режима ImageList'a, тк высота иконок определяет высоту строки. В начале строки, в таком случае, необходимо указать индекс любой иконки, например 0. Вот пример:
|
|||
карма: 22 |
|
57