On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 5971
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.07.18 12:15. Заголовок: Пример экспорта Tsbrowse в разные форматы (Tsb_Export)...


Всем привет.

Что то у меня цвета с таблицы Tsbrowse не такими экспортируются в XML.
Т.е. что-то в библиотеке hbxlsxml цвета по другому получаются...

В Tsb2xml.prg цвет задаю так:
 
nColor := oBrw:aColumns[nCol]:nClrBack
If hb_isBlock( nColor )
nColor := Eval(nColor, oBrw:nAt, nCol, oBrw )
end
// в aColors храним массивы ( строка, столбец. стиль )
Aadd( aColors, {nLine, nCol, "S" + hb_ntoc(nColor, 16)} )

Может неправильно делаю ?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 71 , стр: 1 2 3 4 All [только новые]


moderator


Пост N: 1413
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.11.18 13:22. Заголовок: Haz пишет: При таск..


Haz пишет:

 цитата:
При таскании за угол - не меняется (НОЛЬ)
тогда искать другое решение


Ловится через WAPI_GETKEYSTATE()

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2143
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.18 15:06. Заголовок: Haz пишет Значит кли..


Haz пишет
 цитата:
Значит клики при таскании парента за угол так не поймать


Да это так, но и в др. местах не очень ловится

 цитата:
Ловится через WAPI_GETKEYSTATE()


Не ловится, как и через _HMG_MouseState
Добавил Скрытый текст

т.е. не поймали нажатие WM_LBUTTONDOWN, WM_LBUTTONUP, т.к. ловится нажатия над окном, но не при resize

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1414
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.11.18 15:19. Заголовок: SergKis пишет: Не л..


SergKis пишет:

 цитата:
Не ловится,



Ловится ! У WAPI_GETKEYSTATE() есть параметр
WAPI_GETKEYSTATE( VK_LBUTTON ) при попытке ресайза парент окна за угол возвращает значение по модулю больше 1 при нажатой кнопке и 0/1 при отпускании

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2144
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.18 15:35. Заголовок: Haz пишет У WAPI_GET..


Haz пишет
 цитата:
У WAPI_GETKEYSTATE() есть параметр


Добавил в примере параметр, теперь вывод выглядит примерно так:
? procname(), ..., 'VK_LBUTTON', WAPI_GETKEYSTATE(VK_LBUTTON), '_HMG_MouseState', _HMG_MouseState
получил файл Скрытый текст

т.е. во всех событиях, кроме timer значение -127
и надо переносить перерисовку на on timer ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1415
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.11.18 15:40. Заголовок: SergKis пишет: и на..


SergKis пишет:

 цитата:
и надо переносить перерисовку на on timer ?



Нет , в процедуре по On Resize если -127 то не рисуем бровс, а ждем когда отпустят кнопку .
Но парадокс в том когда ее отпустят - то и on Resize уже не вызовется

ЗЫ таймер я испорльзовал для простоты и наглядности

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1416
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.11.18 15:46. Заголовок: Haz пишет: Но парад..


Haz пишет:

 цитата:
Но парадокс в том когда ее отпустят - то и on Resize уже не вызовется



Получается с началом ON RESIZE запускаем сторожа ( через поток или через таймер ) и в нем ждем когда кнопка освободится.
Потом перерисовываем бровс в новых размерах.

Все реализуемо, но мне оно тоже не надо )))

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2145
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.18 15:49. Заголовок: SergKis пишет т.е. в..


SergKis пишет
 цитата:
т.е. во всех событиях, кроме timer значение -127


Еще -128 появляется, точно не понял от чего, но похоже чередуются с -127, но может и не так
Haz пишет
 цитата:
Но парадокс в том когда ее отпустят - то и on Resize уже не вызовется


Потому и переносить прорисовку надо на куда то и timer активировать.
Мудрено как то. По мне лучше zoom +\- 10% к ширине окна добавлять и плясать перерисовкой контролов

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1417
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.11.18 15:54. Заголовок: SergKis пишет: Еще ..


SergKis пишет:

 цитата:
Еще -128 появляется, точно не понял от чего, но похоже чередуются с -127, но может и не так
Haz пишет


Именно так , сам не пойму почему
Чередуется -127/-128 и 0/1

SergKis пишет:

 цитата:
Мудрено как то


Да, ну если кто-то захочет маньячить в потоке или на таймере - то реализуемо.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 113
Зарегистрирован: 23.06.08
ссылка на сообщение  Отправлено: 02.12.18 19:42. Заголовок: Haz пишет: Получает..


Haz пишет:

 цитата:
Получается с началом ON RESIZE запускаем сторожа ( через поток или через таймер ) и в нем ждем когда кнопка освободится.
Потом перерисовываем бровс в новых размерах.


Зачем так сложно, когда в WinApi есть готовые WM_ENTERSIZEMOVE/WM_EXITSIZEMOVE?
Они же, кстати, и используются в C# под капотом у Form->ResizeBegin/ResizeEnd.

Andrey пишет:

 цитата:
Как бы сделать ТАК ЖЕ и для Tsb_Export ?


Через свою функцию-обработчик сообщений:
 
PROCEDURE Main()
SET EVENTS FUNCTION TO MYEVENTS
DEFINE WINDOW Form_1 ;
// ...........
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
RETURN

#define WM_ENTERSIZEMOVE 0x0231
#define WM_EXITSIZEMOVE 0x0232

FUNCTION MyEvents ( hWnd, nMsg, wParam, lParam )
DO CASE
CASE nMsg == WM_ENTERSIZEMOVE
Form1_ResizeBegin()
CASE nMsg == WM_EXITSIZEMOVE
Form1_ResizeEnd()
OTHERWISE
Events ( hWnd, nMsg, wParam, lParam )
ENDCASE
RETURN Events ( hWnd, nMsg, wParam, lParam )

Было бы хорошо, если эти события добавили в MiniGUI к Window, чтобы можно было просто задавать ON SIZE_BEGIN / SIZE_END.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2146
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.12.18 08:26. Заголовок: SkyNET пишет Через с..


SkyNET пишет
 цитата:
Через свою функцию-обработчик сообщений: ...
Было бы хорошо, если эти события добавили в MiniGUI к Window, чтобы можно было просто задавать ON SIZE_BEGIN / SIZE_END.



Тогда все, действительно, получается хорошо. Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6148
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.12.18 00:04. Заголовок: Вышла новая версия п..


Вышла новая версия примера Tsb_Export(9.88).
Реализована плавное увеличение окон и автоматическое увеличение/уменьшение таблицы.
Спасибо большое Григорию и Сергею за помощь !

Большая просьба протестировать на ваших компах следующее меню - "Export to C# Dll Ole-Excel (xls)" !
И результаты пожалуйста напишите здесь.

У меня даже на игровом компе не вылетает.
Григорий пишет, что у него на 7-ке вылетает.

Сами ехе-ники собраны на 2-х компиляторах:
https://cloud.mail.ru/public/C2ae/pkQkZh9kY

В системе должен быть установлен Microsoft.NET Framework версии 4.0.3 и выше.

Заранее благодарю за помощь.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 71 , стр: 1 2 3 4 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 88
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет