Иконки в ListBox

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Jornada
Посетитель
Сообщения: 38
Зарегистрирован: 10 Апрель 2008, 0:33

Иконки в ListBox

Сообщение Jornada »

Подскажите, какие есть варианты нарисовать иконку в листбоксе, так, чтобы она рисовалась от левой границы ячейки и до правой без пропусков. Имеется ввиду, что размер иконки по ширине совпадает с шириной ячейки, ресайз колонок не рассматриваем.
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Иконки в ListBox

Сообщение Yufil »

А было в доке по CW6 - надо выводить строку по формату @p pb.
Jornada
Посетитель
Сообщения: 38
Зарегистрирован: 10 Апрель 2008, 0:33

Re: Иконки в ListBox

Сообщение Jornada »

Смотрел. На форуме даже примерчик есть. С правой границей хорошо, а левая граница иконки отступает от линии ячейки на какое то количество точек. И не побороть что то.
Jornada
Посетитель
Сообщения: 38
Зарегистрирован: 10 Апрель 2008, 0:33

Re: Иконки в ListBox

Сообщение Jornada »

Пардон.. высота строки все портила. Все ок.
Jornada
Посетитель
Сообщения: 38
Зарегистрирован: 10 Апрель 2008, 0:33

Re: Иконки в ListBox

Сообщение Jornada »

А такой вопрос - как убрать разметку между столбцами? Совсем)
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: Иконки в ListBox

Сообщение Admin »

Jornada писал(а):А такой вопрос - как убрать разметку между столбцами? Совсем)
"Ху ис" разметка в вашем понимании?
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: Иконки в ListBox

Сообщение Admin »

Jornada писал(а):А такой вопрос - как убрать разметку между столбцами? Совсем)
Тут подсказали что возможно имеется в виду правая граница столбца в листбоксе.
Тогда в форматере листа:
Right Border => off ! убирает саму полосу за которую тянем при ресайзе колонки
Resizeable => off ! соответственно отключает ресайз для столбца

Но вроде это сильно просто для вашего вопроса. Если имелось в виду другое - объясните.

Спасибо
Вложения
Справая граница столбца в списке
Справая граница столбца в списке
SNAG-0000.png (4.88 КБ) 5228 просмотров
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Jornada
Посетитель
Сообщения: 38
Зарегистрирован: 10 Апрель 2008, 0:33

Re: Иконки в ListBox

Сообщение Jornada »

Сам виноват.. как спросил, так и ответили)) Объясню задачу - есть необходимость построить диаграмму ганта. Вот и думаю, как ее реализовать. Можно конечно бокс нарисовать с сеткой, но значений много и придется какой то скролл реализовывать. И практически тащить весь функционал листбокса. Если убрать правую границу галочку сняв, то сетки вобще не будет, но тогда график плохо читаемый, так как отслеживать даты по оси X становится неудобно. То есть сетка нужна, но "под" иконками. Как ее изобразить? Просто нарисовать линии? Куда то в api смотреть? Если в api, то что за функции?
Clarion 6.3 Legacy
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: Иконки в ListBox

Сообщение Admin »

Jornada писал(а):Сам виноват.. как спросил, так и ответили)) Объясню задачу - есть необходимость построить диаграмму ганта. Вот и думаю, как ее реализовать. Можно конечно бокс нарисовать с сеткой, но значений много и придется какой то скролл реализовывать. И практически тащить весь функционал листбокса. Если убрать правую границу галочку сняв, то сетки вобще не будет, но тогда график плохо читаемый, так как отслеживать даты по оси X становится неудобно. То есть сетка нужна, но "под" иконками. Как ее изобразить? Просто нарисовать линии? Куда то в api смотреть? Если в api, то что за функции?
Clarion 6.3 Legacy
Пришлось лезть в википедию и смотреть что такое Диаграмма Ганта (http://ru.wikipedia.org/wiki/Диаграмма_Ганта)
С ходу в голову пришел вот такой пример. без иконок...
Суть понятна. Сделать график уже дело техники. Самому было лень. Уже домой пора с работы.

Код: Выделить всё

                   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 КБ) 5201 просмотр
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: Иконки в ListBox

Сообщение BOB »

Не смотрел что за ганта , но наверно графика.
Если работа разовая посмотри libsrc\cfilimage?.* если на долго то копай opengl. С ogl время уйдет больше , но оно того стоит.
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Иконки в ListBox

Сообщение Yufil »

Добрый день!

Делал диаграмму Гантта, но без всякого листбокса.
Сделал скроллируемый экран и рисовал графическими контролами. Более того, покрыл регионом и позволил растягивать границы прямоугольников.
Jornada
Посетитель
Сообщения: 38
Зарегистрирован: 10 Апрель 2008, 0:33

Re: Иконки в ListBox

Сообщение Jornada »

Не.. вариант с установкой фона в ячейке не канает. Все будет сливаться, а если делать разными цетами - то рябить в глазах будет. Да и вобщем то некрасиво.
Скроллируемый экран тоже делать не хочется. т.к. предполагается, что графиков будет много и грузить их все - накладно.

Вот пример:
Изображение

Хочется сделать что то похожее в плане графики. Я думал, что можно с иконками, через листбокс, но тогда надо придумать как самому сетку нарисовать "под" иконками. Можно заморочиться и нарисовать все вручную.. но есть мнение, что при скролле этого безобразия все рябить и дергаться будет, поэтому я склоняюсь все же к листбоксу. Тем более, что функционально с этими графиками будут работать, как с листбоксом и изобретать велосипед совершенно не хочется.
Поэтому все же вопрос - как такую сетку сделать?)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3291
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: Иконки в ListBox

Сообщение Дед Пахом »

Могу предложить как вариант http://ingasoftplus.com/id133.htm, правда не бесплатный и потрахаться тоже придётся, чтобы графики начертить.
С уважением, ДП
Jornada
Посетитель
Сообщения: 38
Зарегистрирован: 10 Апрель 2008, 0:33

Re: Иконки в ListBox

Сообщение Jornada »

Не.. мне интересно самому сделать) я ж не готовое решение спрашиваю, а в какую сторону смотреть)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3291
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: Иконки в ListBox

Сообщение Дед Пахом »

Jornada писал(а):Не.. мне интересно самому сделать) я ж не готовое решение спрашиваю, а в какую сторону смотреть)
Так бы и сказал, что денег нет :D
С уважением, ДП
Ответить