LIST Browse Header
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
LIST Browse Header
подымался вопрос в ClaListe - можно ли HEADER оформить другими шрифтами, цветами
оказывается почти штатно можно это делать, единственно что нельзя - это динамически менять высоту HEADER'а
на каждый HEADER колонки создавать CREATE:STRING, а можно и любой другой тип контрола, кнопарь например с иконкой
установить у таких контролов требуемые атрибуты
взвести SETPARENT для них LIST Browse
у LIST Browse отлавливать WM_PAINT, отработать родителя, поставить а-ля HEADER контролы на свои места и всё.
стоит ли это вообще реализовывать в библиотеке, пока не знаю, т к по идее для этих целей есть соответствующий продукт LHC
оказывается почти штатно можно это делать, единственно что нельзя - это динамически менять высоту HEADER'а
на каждый HEADER колонки создавать CREATE:STRING, а можно и любой другой тип контрола, кнопарь например с иконкой
установить у таких контролов требуемые атрибуты
взвести SETPARENT для них LIST Browse
у LIST Browse отлавливать WM_PAINT, отработать родителя, поставить а-ля HEADER контролы на свои места и всё.
стоит ли это вообще реализовывать в библиотеке, пока не знаю, т к по идее для этих целей есть соответствующий продукт LHC
Расширение PROPов для Browse HEADER
согдасно дебатам в ClaList'е
теперь каждый Header колонки имеем самостоятельные PROPы как у STRING контрола, выставляются
они после инициализации SELF.Header объекта через метод
и текст заколовка колонки теперь не накладывается на иконку сортировки
если текст больше то он обрезается и в конце три или менее точек
Vendor Name
Venor Na...
теперь каждый Header колонки имеем самостоятельные PROPы как у STRING контрола, выставляются
они после инициализации SELF.Header объекта через метод
Код: Выделить всё
SELF.HeaderProp(НомерКолонки,НомерPROPа,значение PROPа)
если текст больше то он обрезается и в конце три или менее точек
Vendor Name
Venor Na...
Рулезное решение
как всё круто получилось в сегодняшней редакции "B"
я так и не смог подружить иконку - контрол с LIST контролом через SETPARENT, она становилась невидимой, пришлось вводить доп логику чтобы расчитывать видима или невидима в текущий момент должна быть иконка индикации сортировки, т к родителем выступал не LIST контрол
теперь же в качестве родителя выступает HEADER колонки - SETPATRENT на неё для иконки контрола срабатывает на ура.
Много дополнительной и не очень 100% правильной логики ликвидированы, всё делает теперь винда
я так и не смог подружить иконку - контрол с LIST контролом через SETPARENT, она становилась невидимой, пришлось вводить доп логику чтобы расчитывать видима или невидима в текущий момент должна быть иконка индикации сортировки, т к родителем выступал не LIST контрол
теперь же в качестве родителя выступает HEADER колонки - SETPATRENT на неё для иконки контрола срабатывает на ура.
Много дополнительной и не очень 100% правильной логики ликвидированы, всё делает теперь винда
как в песне - не сыпь мне соль на раны ;(Admin писал(а):Это очень радует... С каждым днем все больше!
P.S. А как обстоит вопрос со своевременным обновлением документации?
палка о двух концах, либо расширение функционала с отражением на форуме как этим функционалом пользоваться, либо останавливаться на непоределённый срок и писать писать и ещё раз писать документацию.
какой конец предпочтительней ?
-
- Бывалый
- Сообщения: 70
- Зарегистрирован: 07 Июль 2005, 5:39
- Откуда: Хабаровск
- Контактная информация:
Каждому свой конец ближе и роднейAndrew Myalin писал(а):как в песне - не сыпь мне соль на раны ;(Admin писал(а):Это очень радует... С каждым днем все больше!
P.S. А как обстоит вопрос со своевременным обновлением документации?
палка о двух концах, либо расширение функционала с отражением на форуме как этим функционалом пользоваться, либо останавливаться на непоределённый срок и писать писать и ещё раз писать документацию.
какой конец предпочтительней ?
Во блин обнаружена засада
Новый хидер у листа поимели и как выяснилось поимели проблемы отображения, если бровза находится на одной из закладок шита
при переключении между закладками происходило наложение лист бровзе контролов из других закладок на текущую, мусор одним словом
я так понял что клаша не смогла разрулить ситуацию - что же делать с динамически созданными контролами и которые не HIDE и у которых я поменяд родителя через SETPARENT.
Я после создания контролов не стал из открывать (PROP:Hide = False) и проблема исчезла, это не повлияло на их отрисовку, т к юзаю SETWINDOWPOS для этих целей, а клаша я так понял думает что они HIDE и не следит за ними.
Короче есть сегодняшнее обновление!
при переключении между закладками происходило наложение лист бровзе контролов из других закладок на текущую, мусор одним словом
я так понял что клаша не смогла разрулить ситуацию - что же делать с динамически созданными контролами и которые не HIDE и у которых я поменяд родителя через SETPARENT.
Я после создания контролов не стал из открывать (PROP:Hide = False) и проблема исчезла, это не повлияло на их отрисовку, т к юзаю SETWINDOWPOS для этих целей, а клаша я так понял думает что они HIDE и не следит за ними.
Короче есть сегодняшнее обновление!
Новый алгоритм
Как выяснилось не учёл при расётах FIX колонки и колонки с нулевой шириной, которые в свою очередь влияли на анализ PROP:HSCROLLPOS
и группы теперь прорисовываются по всем правилам как и заголовки колонок.
Group 2
Grou...
и группы теперь прорисовываются по всем правилам как и заголовки колонок.
Group 2
Grou...