График
От: Gek Россия  
Дата: 03.06.09 13:49
Оценка:
Доброго времени суток

Подскажите пожалуйста каким образом лучше реализовать график скорости (например как у какого-нибудь download'ера) средствами Htmlayout. Решение в лоб сделать таблицу с однопиксельными ячейками и менять ячейкам background.
Может быть есть более изящнее решения.
Re: График
От: yarus23  
Дата: 03.06.09 15:56
Оценка:
Здравствуйте, Gek, Вы писали:

Gek>Доброго времени суток


Gek>Подскажите пожалуйста каким образом лучше реализовать график скорости (например как у какого-нибудь download'ера) средствами Htmlayout. Решение в лоб сделать таблицу с однопиксельными ячейками и менять ячейкам background.

Gek>Может быть есть более изящнее решения.

Воистину из Москвы в Тулу через Китай.
Используй рисующий behavior на graphin канвасе и будет тебе щастье.
Re[2]: График
От: Gek Россия  
Дата: 03.06.09 17:02
Оценка:
Здравствуйте, yarus23, Вы писали:

Y>Здравствуйте, Gek, Вы писали:


Gek>>Доброго времени суток


Gek>>Подскажите пожалуйста каким образом лучше реализовать график скорости (например как у какого-нибудь download'ера) средствами Htmlayout. Решение в лоб сделать таблицу с однопиксельными ячейками и менять ячейкам background.

Gek>>Может быть есть более изящнее решения.

Y>Воистину из Москвы в Тулу через Китай.

Y>Используй рисующий behavior на graphin канвасе и будет тебе щастье.

Опишите подробней пожалуйста. Где можно найти пример или почитать?
Re[3]: График
От: Кодёнок  
Дата: 04.06.09 06:54
Оценка:
Здравствуйте, Gek, Вы писали:

Gek>Опишите подробней пожалуйста. Где можно найти пример или почитать?


Сделать поиск по документации *дьявольский смех*
Re[3]: График
От: c-smile Канада http://terrainformatica.com
Дата: 04.06.09 07:26
Оценка:
Здравствуйте, Gek, Вы писали:

Gek>Здравствуйте, yarus23, Вы писали:



Y>>Воистину из Москвы в Тулу через Китай.

Y>>Используй рисующий behavior на graphin канвасе и будет тебе щастье.

Gek>Опишите подробней пожалуйста. Где можно найти пример или почитать?


htmlayoutsdk\html_samples\forms\progress.htm
htmlayoutsdk\html_samples\csss!\progress.htm
htmlayoutsdk/html_samples/behaviors/chart.htm & htmlayoutsdk\include\behaviors\chart\behavior_chart.cpp
Re[4]: График
От: Gek Россия  
Дата: 04.06.09 14:07
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Здравствуйте, Gek, Вы писали:


Gek>>Опишите подробней пожалуйста. Где можно найти пример или почитать?


Кё>Сделать поиск по документации *дьявольский смех*


Дайте пожалуйста линк на документацию.
Re[4]: График
От: Gek Россия  
Дата: 04.06.09 14:09
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, Gek, Вы писали:


Gek>>Здравствуйте, yarus23, Вы писали:



Y>>>Воистину из Москвы в Тулу через Китай.

Y>>>Используй рисующий behavior на graphin канвасе и будет тебе щастье.

Gek>>Опишите подробней пожалуйста. Где можно найти пример или почитать?


CS>htmlayoutsdk\html_samples\forms\progress.htm

CS>htmlayoutsdk\html_samples\csss!\progress.htm
CS>htmlayoutsdk/html_samples/behaviors/chart.htm & htmlayoutsdk\include\behaviors\chart\behavior_chart.cpp

Я отрисовал свой график. Каким образом я могу в рантайме передавать массив данных для отрисовки. Граффик должен обновлятся каждую секунду? В примере массив данных забит в html.
Re[5]: График
От: Кодёнок  
Дата: 04.06.09 14:35
Оценка: :))
Здравствуйте, Gek, Вы писали:

Gek>>>Опишите подробней пожалуйста. Где можно найти пример или почитать?

Кё>>Сделать поиск по документации *дьявольский смех*
Gek>Дайте пожалуйста линк на документацию.

*еще более дьявольский смех*
Re[6]: График
От: Gek Россия  
Дата: 04.06.09 14:48
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Здравствуйте, Gek, Вы писали:


Gek>>>>Опишите подробней пожалуйста. Где можно найти пример или почитать?

Кё>>>Сделать поиск по документации *дьявольский смех*
Gek>>Дайте пожалуйста линк на документацию.

Кё>*еще более дьявольский смех*


Мне просто уже инетересно чего вам так весело?
Re[7]: График
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 04.06.09 15:53
Оценка:
Здравствуйте, Gek, Вы писали:

Gek>Мне просто уже инетересно чего вам так весело?


Это помесь отчаяния с приглушенными рыданиями. Кто-то путает эти звуки с дъявольским смехом

Документации не так уж много:
1. Оф. сайт
2. Оф. wiki
3. Форумы на оф. сайте и рсдн
4. Комментарии в исходниках
Хорошо там, где мы есть! :)
Re[8]: График
От: Gek Россия  
Дата: 04.06.09 16:33
Оценка:
Здравствуйте, ShaggyOwl, Вы писали:

SO>Здравствуйте, Gek, Вы писали:


Gek>>Мне просто уже инетересно чего вам так весело?


SO>Это помесь отчаяния с приглушенными рыданиями. Кто-то путает эти звуки с дъявольским смехом


SO>Документации не так уж много:

SO>1. Оф. сайт
SO>2. Оф. wiki
SO>3. Форумы на оф. сайте и рсдн
SO>4. Комментарии в исходниках

Я поэтому и уточнил так как разбираюсь по примерам и форум в подмогу.

Вопрос остается открытым. Я использовал behavior_chart.cpp — отрисовал график. Данные для графика в примере забиты в html. Есть способ передать массив данных контролу с behavior: chart или же подменить их в html и отрефрешить контрол без перегрузки всего html?

И еще один вопрос.
Я поместил html в ресурсы, а картинки так и лежат снаружи. Как их можно поместить в exe и как на них после этого ссылаться из html?
Re[9]: График
От: yarus23  
Дата: 05.06.09 12:04
Оценка:
Gek>Вопрос остается открытым. Я использовал behavior_chart.cpp — отрисовал график. Данные для графика в примере забиты в html. Есть способ передать массив данных контролу с behavior: chart или же подменить их в html и отрефрешить контрол без перегрузки всего html?

Это просто. Посылкой сообщения.


    virtual BOOL on_script_call(HELEMENT he, LPCSTR name, UINT argc, json::value* argv, json::value& retval) 
    { 
       if( aux::streq(name, "data_array") )
       {
          data_ = *argv; 
          request_redraw(he);          
...


и в argv даете массив значений. argc будет равен 1.
И делаете так — element.xcall("data_array", real_data);

правда если массив данных большой то будет неэффективно — тройное копирование массива. Тогда лучше чтобы behavior уже владело перманентно указателем на массив данных.

Gek>И еще один вопрос.

Gek>Я поместил html в ресурсы, а картинки так и лежат снаружи. Как их можно поместить в exe и как на них после этого ссылаться из html?

Поместить в ресурсы и использовать res:filename.jpg
См. код sdk\include\wtl_htmlayout.h и sdk\include\wtl_htmlayouthost.h
Re[10]: График
От: Gek Россия  
Дата: 05.06.09 13:37
Оценка:
Здравствуйте, yarus23, Вы писали:

Gek>>И еще один вопрос.

Gek>>Я поместил html в ресурсы, а картинки так и лежат снаружи. Как их можно поместить в exe и как на них после этого ссылаться из html?

Y>Поместить в ресурсы и использовать res:filename.jpg

Y>См. код sdk\include\wtl_htmlayout.h и sdk\include\wtl_htmlayouthost.h

У меня еть png файлы и один анимированный gif. png я добавил в ресурсы на gif выдает ошибку что не тот формат.
png не отображаются
<img src="res:progress_dark.png">
или
background-image: url(res:progress_dark.png);

Я использую Add Resource->Import. В чем может быть проблема?
Re[10]: График
От: Gek Россия  
Дата: 05.06.09 13:48
Оценка:
res:activity.gif например работает.
Re[11]: График
От: Gek Россия  
Дата: 05.06.09 14:01
Оценка:
IDR_PNG1 PNG "res\\progress_dark.png"
IDR_PNG2 PNG "res\\progress_light.png"

Я проверил в exe файле они есть.
Re[12]: График
От: yarus23  
Дата: 05.06.09 17:29
Оценка:
См. код sdk\include\wtl_htmlayout.h и sdk\include\wtl_htmlayouthost.h и ваши волосы будут мягкими и шелковистыми. Все сразу поймете.
Re[13]: График
От: Gek Россия  
Дата: 16.06.09 11:51
Оценка:
Здравствуйте, yarus23, Вы писали:

Y>См. код sdk\include\wtl_htmlayout.h и sdk\include\wtl_htmlayouthost.h и ваши волосы будут мягкими и шелковистыми. Все сразу поймете.


Проблемы с волосами. Я понял что в этих двух модулях надо внести изменения для того чтобы изображение поднималось из ресурсов.
Честно говоря я не могу разобраться что именно надо сделать. Вы не могли бы подсказать.

Заранее благодарен.
Re[14]: График
От: yarus23  
Дата: 16.06.09 12:26
Оценка:
Gek>Заранее благодарен.

ОК. Чтобы загрузить например jpeg надо создать ресурс, именованный как расширение файла.
То есть:

ID_OPEN PNG DISCARDABLE "open.png"

Смотрим LoadResourceData(HWND hWnd, LPCWSTR uri ) из sdk\include\wtl_htmlayout.h:

if (wcsncmp( uri, L"res:", 4 ) == 0 )

то есть надо вставить res: в начале.

Смотрим дальше комментарии и код:

// Find specified resource and leave if failed. Note that we use extension
// as the custom resource type specification or assume standard HTML resource
// if no extension is specified

hrsrc = ::FindResource(module, pszName, pszExt);

Ну вот, все становится ясно.
Re[15]: График
От: Gek Россия  
Дата: 16.06.09 13:10
Оценка:
Здравствуйте, yarus23, Вы писали:

Я вроде так и делаю. Вот строчка из .rc
IDR_LOGO PNG DISCARDABLE "Images\\logo.png"
Вот строчка из html
<img src="res:logo.png" width="85px" height="10px">
Re[16]: График
От: Gek Россия  
Дата: 16.06.09 13:19
Оценка:
По коду uri это "res:logo.png"
Т.е. при вызове
FindResource(module, pszName, pszExt);
pszName = "logo"
pszExt = "png"

В моем случае ресурс IDR_LOGO типа PNG.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.