Иконки в ListBox
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Иконки в ListBox
Подскажите, какие есть варианты нарисовать иконку в листбоксе, так, чтобы она рисовалась от левой границы ячейки и до правой без пропусков. Имеется ввиду, что размер иконки по ширине совпадает с шириной ячейки, ресайз колонок не рассматриваем.
Re: Иконки в ListBox
Смотрел. На форуме даже примерчик есть. С правой границей хорошо, а левая граница иконки отступает от линии ячейки на какое то количество точек. И не побороть что то.
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: Иконки в ListBox
"Ху ис" разметка в вашем понимании?Jornada писал(а):А такой вопрос - как убрать разметку между столбцами? Совсем)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: Иконки в ListBox
Тут подсказали что возможно имеется в виду правая граница столбца в листбоксе.Jornada писал(а):А такой вопрос - как убрать разметку между столбцами? Совсем)
Тогда в форматере листа:
Right Border => off ! убирает саму полосу за которую тянем при ресайзе колонки
Resizeable => off ! соответственно отключает ресайз для столбца
Но вроде это сильно просто для вашего вопроса. Если имелось в виду другое - объясните.
Спасибо
- Вложения
-
- Справая граница столбца в списке
- SNAG-0000.png (4.88 КБ) 5224 просмотра
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Re: Иконки в ListBox
Сам виноват.. как спросил, так и ответили)) Объясню задачу - есть необходимость построить диаграмму ганта. Вот и думаю, как ее реализовать. Можно конечно бокс нарисовать с сеткой, но значений много и придется какой то скролл реализовывать. И практически тащить весь функционал листбокса. Если убрать правую границу галочку сняв, то сетки вобще не будет, но тогда график плохо читаемый, так как отслеживать даты по оси X становится неудобно. То есть сетка нужна, но "под" иконками. Как ее изобразить? Просто нарисовать линии? Куда то в api смотреть? Если в api, то что за функции?
Clarion 6.3 Legacy
Clarion 6.3 Legacy
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: Иконки в ListBox
Пришлось лезть в википедию и смотреть что такое Диаграмма Ганта (http://ru.wikipedia.org/wiki/Диаграмма_Ганта)Jornada писал(а):Сам виноват.. как спросил, так и ответили)) Объясню задачу - есть необходимость построить диаграмму ганта. Вот и думаю, как ее реализовать. Можно конечно бокс нарисовать с сеткой, но значений много и придется какой то скролл реализовывать. И практически тащить весь функционал листбокса. Если убрать правую границу галочку сняв, то сетки вобще не будет, но тогда график плохо читаемый, так как отслеживать даты по оси X становится неудобно. То есть сетка нужна, но "под" иконками. Как ее изобразить? Просто нарисовать линии? Куда то в api смотреть? Если в api, то что за функции?
Clarion 6.3 Legacy
С ходу в голову пришел вот такой пример. без иконок...
Суть понятна. Сделать график уже дело техники. Самому было лень. Уже домой пора с работы.
Код: Выделить всё
PROGRAM
MAP
END
Window WINDOW('Caption'),AT(,,307,161),FONT('MS Sans Serif',8,,FONT:regular),SYSTEM,GRAY,RESIZE
LIST,AT(0,0),USE(?List),FULL,HVSCROLL
END
!LIST,AT(0,0),USE(?List),FULL,HVSCROLL,FORMAT('50L(2)|M~Суть~10L(2)Y~1~@P PB@10L(2)Y~2~@P PB@10L(2)Y~3~@P PB@')
DefaultFormat EQUATE('50L(2)|FM~Суть~')
LOC:Format STRING(4096)
DataQueue QUEUE
Line STRING(4096)
END
CODE
OPEN(Window)
LOC:Format = DefaultFormat
LOOP W# = 1 TO 100 !ширина !номер !формат
LOC:Format = CLIP(LOC:Format) & '13L(2)Y~' & W# & '~@P PB@'
END
?List{PROP:Lineheight} = 10
?List{PROP:Format} = LOC:Format
?List{PROP:From} = DataQueue
! стилей можно наделать море разных.
?List{PROPSTYLE:BackColor,1} = COLOR:Red
?List{PROPSTYLE:BackSelected,1} = COLOR:Red
?List{PROPSTYLE:BackColor,2} = COLOR:Blue
?List{PROPSTYLE:BackSelected,2} = COLOR:Blue
?List{PROPSTYLE:BackColor,3} = COLOR:None
?List{PROPSTYLE:BackSelected,3} = COLOR:None
LOOP W# = 1 TO 1000
CLEAR(DataQueue)
DataQueue.Line = 'Строка #' & FORMAT(W#,@N04)
LOOP 99 TIMES
! набиваем ячейки. проявив смекалку можно сделать диаграмму
! RANDOM(1,3) - стиль из описанных выше
! |1| - просто заполнитель т.к. пусто не прокатывало у меня
! разбираться не стал.
DataQueue.Line = CLIP(DataQueue.Line)&'|1|'&RANDOM(1,3)
END
! делаем ячейку 100 чистой... для красоты
DataQueue.Line = CLIP(DataQueue.Line)&'|1|0'
ADD(DataQueue)
END
ACCEPT
END
CLOSE(Window)
- Вложения
-
- Для диаграммы ганта
- like_gant.png (5.05 КБ) 5197 просмотров
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Re: Иконки в ListBox
Не смотрел что за ганта , но наверно графика.
Если работа разовая посмотри libsrc\cfilimage?.* если на долго то копай opengl. С ogl время уйдет больше , но оно того стоит.
Если работа разовая посмотри libsrc\cfilimage?.* если на долго то копай opengl. С ogl время уйдет больше , но оно того стоит.
Re: Иконки в ListBox
Добрый день!
Делал диаграмму Гантта, но без всякого листбокса.
Сделал скроллируемый экран и рисовал графическими контролами. Более того, покрыл регионом и позволил растягивать границы прямоугольников.
Делал диаграмму Гантта, но без всякого листбокса.
Сделал скроллируемый экран и рисовал графическими контролами. Более того, покрыл регионом и позволил растягивать границы прямоугольников.
Re: Иконки в ListBox
Не.. вариант с установкой фона в ячейке не канает. Все будет сливаться, а если делать разными цетами - то рябить в глазах будет. Да и вобщем то некрасиво.
Скроллируемый экран тоже делать не хочется. т.к. предполагается, что графиков будет много и грузить их все - накладно.
Вот пример:

Хочется сделать что то похожее в плане графики. Я думал, что можно с иконками, через листбокс, но тогда надо придумать как самому сетку нарисовать "под" иконками. Можно заморочиться и нарисовать все вручную.. но есть мнение, что при скролле этого безобразия все рябить и дергаться будет, поэтому я склоняюсь все же к листбоксу. Тем более, что функционально с этими графиками будут работать, как с листбоксом и изобретать велосипед совершенно не хочется.
Поэтому все же вопрос - как такую сетку сделать?)
Скроллируемый экран тоже делать не хочется. т.к. предполагается, что графиков будет много и грузить их все - накладно.
Вот пример:

Хочется сделать что то похожее в плане графики. Я думал, что можно с иконками, через листбокс, но тогда надо придумать как самому сетку нарисовать "под" иконками. Можно заморочиться и нарисовать все вручную.. но есть мнение, что при скролле этого безобразия все рябить и дергаться будет, поэтому я склоняюсь все же к листбоксу. Тем более, что функционально с этими графиками будут работать, как с листбоксом и изобретать велосипед совершенно не хочется.
Поэтому все же вопрос - как такую сетку сделать?)
- Дед Пахом
- Старичок
- Сообщения: 3289
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 49 раз
- Контактная информация:
Re: Иконки в ListBox
Могу предложить как вариант http://ingasoftplus.com/id133.htm, правда не бесплатный и потрахаться тоже придётся, чтобы графики начертить.
С уважением, ДП
Re: Иконки в ListBox
Не.. мне интересно самому сделать) я ж не готовое решение спрашиваю, а в какую сторону смотреть)
- Дед Пахом
- Старичок
- Сообщения: 3289
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 49 раз
- Контактная информация:
Re: Иконки в ListBox
Так бы и сказал, что денег нетJornada писал(а):Не.. мне интересно самому сделать) я ж не готовое решение спрашиваю, а в какую сторону смотреть)

С уважением, ДП