On-line: Haz, tnsr2, гостей 3. Всего: 5 [подробнее..]
АвторСообщение
администратор




Пост N: 1949
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.01.11 15:51. Заголовок: Тормозок


Имеем Бровс , создаем какой нибудь диалог (или окно) и таскаем его по бровсу. Двигается он с заметными
тормозами. Это особенность FW ? Как то лечится ?
Ни чего подобного не видел в любых других программах под Windows , где так же юзаются таблицы.


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


Администратор




Пост N: 1763
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 06.01.11 16:00. Заголовок: Наверное, при этом в..


Наверное, при этом вызывается WM_PAINT, перерисовка бровса, а бровс при этом перечитывает данные.
Это причина навскидку, я не смотрел кишки xbrowse
Если это так, то надо что-то думать, например, как-то кешировать данные

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




Пост N: 1950
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.01.11 16:05. Заголовок: xbrows это как приме..


xbrows это как пример был. Потягать диалог можно например по окну в котором выведена какая то картинка.
То же будет тормоз , но не такой как в случае с xbrowse.
Pasha пишет:

 цитата:
например, как-то кешировать данные


Например как ?!

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



Пост N: 65
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 06.01.11 16:55. Заголовок: А ты пробни перед от..


А ты пробни перед открытием диалога сделать этот бровс disable (ну и , соответственно, при закрытии enable)

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




Пост N: 1951
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.01.11 17:28. Заголовок: fil Неа не помогает..


fil
Неа не помогает :)
Вот тут чуваки терли про это , но нормального итога я не увидел , или не заметил.
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=19212&start=0&hilit=slow+dialog+move<\/u><\/a>

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




Пост N: 1952
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.01.11 17:54. Заголовок: Собственно не помога..


Собственно не помогает ни один блок кода , бровс все равно перерисовывается когда по нему диалог таскаю , а
делает он это медленно.
obrw:blostfocus:={||LOCKWINDOWUPDATE( oBrw:hWnd )} // не помогает
obrw:blostfocus:={||oBrw:disable() )}

Вот если бы ему можно было как то сказать что если потерян фокус то не перерисовывать...Вопрос как !?

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




Пост N: 1764
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 06.01.11 18:13. Заголовок: Dima пишет: цитата:..


Dima пишет:

 цитата:
цитата:
например, как-то кешировать данные



Например как ?!



Я для этого грид под себя специально делал, долго возился. А принцип такой же, как у клипперовского tbrowse: данные по всем отображаемым строкам надо кешировать, и для их перевывода надо не перечитывать их из источника, а брать из кэша. Так же работает xHarbour TBrowse. Harbour TBrowse кеш не поддерживает.
А насчет чуваков, nageswaragunupudi дал неплохую идею, советую попробовать.

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




Пост N: 1953
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.01.11 18:55. Заголовок: Pasha пишет: nagesw..


Pasha пишет:

 цитата:
nageswaragunupudi дал неплохую идею, советую попробовать


Идею видел , но пока не пойму как это применить.
Прилинковал тот исходник.
В проге у меня Xbrowse
объявлен так
 
obrw := xbrowsenew( ownds, 73, 5, ownds:nwidth()-20, ownds:nHeight-105,,,,,,, ofont2,,,,, .F., "znomen",, .F.,, .T., nil, .F., .F. ,,,,, .F., .F., .T., .T., )


ну или так
 
@ 73,5 Xbrowse obrw ;
Size ownds:nwidth()-20,ownds:nHeight-105 ;
of ownds PIXEL font ofont2 CELL LINES ALIAS "znomen"


Не очень понял как заюзать класс TXBR3

Собственно исходник
 
#include 'fivewin.ch'
#include 'xbrowse.ch'

#xtranslate DelObj <o> => If <o> != nil; DeleteObject( <o> ); endif; <o> := nil

CLASS TXBR3 FROM TXBROWSE

CLASSDATA lRegistered AS LOGICAL // used internally

DATA hSaveScr

METHOD Paint()
METHOD Destroy()

ENDCLASS

METHOD Paint() CLASS TXBR3

local aInfo

if ::hSaveScr != nil .and. GetFocus() != ::hWnd
aInfo := ::DispBegin()
DrawBitmap( ::hDC, ::hSaveScr, 0, 0 )
::DispEnd( aInfo )
else
Super:Paint()
DelObj ::hSaveScr
::hSaveScr := WndBitMap( ::hWnd )
endif


return nil

METHOD Destroy() CLASS TXBR3

DelObj ::hSaveScr

return Super:Destroy()


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




Пост N: 1766
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 06.01.11 21:00. Заголовок: Надо сделать модуль ..


Надо сделать модуль для класса txpbr3 - txpbr3.prg, скопировать туда функцию xbrowsenew, переименовать ее, например в
xbr3new
В этой функции заменить вызов

TXBrowse():New( oWnd )

на

TXBr3():New( oWnd )

тоже самое можно сделать с командами: сделать файл xbr3.ch
скопировать туда команду xbrowse, изменить ее имя и заменить в ней вызов xbrowsenew() на xbr3new()


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



Пост N: 66
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 06.01.11 23:14. Заголовок: Перехватил перерисов..


Перехватил перерисовку бровса при таскании по нему диалога. В этом случае диалог работает как большой ластик. Наверное если PAINT картинку экрана, а не бровс, то перерисовка будет шустрее.

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




Пост N: 1954
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.01.11 23:44. Заголовок: Pasha Попробую. fi..


Pasha
Попробую.

fil пишет:

 цитата:
В этом случае диалог работает как большой ластик


Именно.

Всем спасибо и с наступающим рождеством !

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




Пост N: 1955
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 12:53. Заголовок: Pasha Таки да метод..


Pasha
Таки да метода работает и диалоги (окна) не тормозят при движении их по бровсу.
Но сразу в проге сломался поисковый GET (и часть функционала других контролов работащих с бровсом) , оно и понятно почему. Ранее в нем набирался текст и тут же происходил поиск по базе и обновление бровса. Теперь рефреш не работает ,
так как бровс не в фокусе.



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




Пост N: 1767
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.01.11 15:24. Заголовок: А что если еще прове..


А что если еще проверять, в фокусе ли и родительское окно ?

где-то так:

Local nFocus := GetFocus()

if ::hSaveScr != nil .and. nFocus != ::hWnd .and. nFocus != ::oWnd:hWnd
...

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




Пост N: 1956
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 15:37. Заголовок: Pasha пишет: if ::h..


Pasha пишет:

 цитата:
if ::hSaveScr != nil .and. nFocus != ::hWnd .and. nFocus != ::oWnd:hWnd


что то не то (окно MDICHILD)

при такой корректировке , диалог нормально ездит по бровсу (без особых тормозов)
а вот в поисковом GET в ON CHANGE , obrw:refresh() не срабатывает

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




Пост N: 1768
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.01.11 16:15. Заголовок: А где этот поисковый..


А где этот поисковый get расположен ? В том же окне, что и бровс ?

Тогда можно усложнить проверку

Local nFocus := GetFocus()
Local lFocus := .f.
AEval(::oWnd:aControls, {|o| if(o:hWnd==nFocus, lFocus := .t., )})
if ::hSaveScr != nil .and. nFocus != ::hWnd .and. nFocus != ::oWnd:hWnd .and. ! lFocus


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




Пост N: 1769
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.01.11 16:21. Заголовок: Или сделать еще прощ..


Или сделать еще проще, делов то. Кувалда и напильник - наш инструмент

Добавить к новому классу еще одно свойство

CLASS TXBR3 FROM TXBROWSE

CLASSDATA lRegistered AS LOGICAL // used internally

DATA lPaint AS LOGICAL INIT .t.

в методе Paint проверку написать так:

if ::hSaveScr != nil .and. GetFocus() != ::hWnd .and. lPaint

а в поисковом get refresh делать так:

obrw:lPaint := .f.
obrw:refresh()
obrw:lPaint := .t.


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




Пост N: 1957
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 16:22. Заголовок: Pasha пишет: А где ..


Pasha пишет:

 цитата:
А где этот поисковый get расположен ? В том же окне, что и бровс ?


Да в нем же.

Сейчас попробуем.

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




Пост N: 1958
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 16:26. Заголовок: Pasha пишет: Local ..


Pasha пишет:

 цитата:
Local nFocus := GetFocus()
Local lFocus := .f.
AEval(::oWnd:aControls, {|o| if(o:hWnd==nFocus, lFocus := .t., )})
if ::hSaveScr != nil .and. nFocus != ::hWnd .and. nFocus != ::oWnd:hWnd .and. ! lFocus


Вот теперь то что надо :)

Спасибо !!!

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




Пост N: 1959
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 16:38. Заголовок: Все равно не все в н..


Все равно не все в норме....
Правый клик мышки на записи в бровсе , вылезает диалог а курсор в бровсе улетает на другую запись.
При закрытии диалога курсор возвращается на место.

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




Пост N: 1770
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.01.11 16:58. Заголовок: А что за диалог ? po..


А что за диалог ? popup-меню ? И как видно, что курсор улетает ? Курсор это подсветка строки ?

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




Пост N: 1960
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 17:10. Заголовок: Бровс в окне. Курсор..


Бровс в окне. Курсор - да подсветка строки (текущей записи)
Стою скажем на товаре с кодом 33 , жму правый клик мышки на этой записи и курсор улетает на другую запись c кодом 21
Закрываем диалог. Снова делаем то же самое и вот только тогда все нормально.


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




Пост N: 1961
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 17:11. Заголовок: Счас картинку выложу..


Счас картинку выложу ;)

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




Пост N: 1962
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 17:17. Заголовок: До нажатия правой кн..


До нажатия правой кнопки мышки


После нажатия , курсор уехал на 253 код


Закрываем диалог и все так как на первой картинке

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




Пост N: 1771
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.01.11 18:32. Заголовок: Ух ты ! Вкусно ! Дум..


Ух ты ! Вкусно !
Думаем. На нажатие rclick что у нас ? Вызывается диалог с картинкой. При этом бровс теряет фокус, и на пайнт вызывается прорисовка экрана, то, что было сохранено на коде 253 Столичная. Почему так - непонятно
Может быть, перед вызовом этого диалога отключить фокус с прорисовкой сохраненного экрана ? Т.е, добавить в класс lPaint, перед выводом диалога сбрасывать его, а потом восстанавливать ?

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




Пост N: 1772
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.01.11 18:37. Заголовок: Ага, имеем дело с ра..


Ага, имеем дело с рассинхровкой. Когда у бровса был фокус, был товар 253, и на нем сохранился экран. Мышкой кликнули на кровянке, при этом пайнт не вызвался. Брорвс потерял фокус, вызвался пайнт, и восстановилась столичная
Надо добавлять lPaint, адназначна

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




Пост N: 1963
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 18:45. Заголовок: Pasha пишет: Надо д..


Pasha пишет:

 цитата:
Надо добавлять lPaint, адназначна


Понял. Спасибо !

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




Пост N: 1773
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.01.11 18:46. Заголовок: Нет, при этом теряет..


Нет, при этом теряется смысл всей затеи. Ведь этот тот самый диалог. Лучше перед вызовом диалога вызвать refresh у бровса, чтобы он выдал paint, при этом сохранится нужный экран
Или, еще лучше, напрямую вызвать

DeleteObject( oBwr:hSaveScr )
oBwr:hSaveScr := WndBitMap( oBrw:hWnd )

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




Пост N: 1964
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.01.11 19:05. Заголовок: Pasha Да refresh не..


Pasha
Да refresh не помог. Напрямую сработало.


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




Пост N: 1965
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.01.11 12:01. Заголовок: Dima пишет: Или, ещ..


Pasha пишет:

 цитата:
Или, еще лучше, напрямую вызвать

DeleteObject( oBwr:hSaveScr )
oBwr:hSaveScr := WndBitMap( oBrw:hWnd )



Поигрался. Пришел к выводу что этот вызов проще будет прописать в blostfocus бровса

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



Пост N: 67
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 09.01.11 13:14. Заголовок: Приспособил сию штук..


Приспособил сию штуку под TSBROWSE. Все, в общем, нормально. Т.к. у меня одновременная работа нескольких взаимоконтекстных бровсов на немодальных окнах, то blostfocus делать не стал, а просто активизирую глобальный флаг перед вызовом любого диалога

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




Пост N: 1617
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.01.11 14:45. Заголовок: fil пишет: Приспосо..


fil пишет:

 цитата:
Приспособил сию штуку под TSBROWSE.



А картинку показать можно ? Как это выглядит ?


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




Пост N: 1779
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.01.11 15:41. Заголовок: fil пишет: blostfoc..


fil пишет:

 цитата:
blostfocus делать не стал, а просто активизирую глобальный флаг перед вызовом любого диалога



Но по бровсу может ездить не только свой диалог, но и чужой, поэтому отслеживать фокус было бы правильнее

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




Пост N: 1780
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.01.11 15:44. Заголовок: Pasha пишет: А карт..


Pasha пишет:

 цитата:
А картинку показать можно ? Как это выглядит ?



Слушай, зачем картинка, да ? Включаем абстрактное мышление. Видим любой бровс/грид. По нему зачем-то ездит диалог. При этом бровс под диалогом медленно перерисовывается.
Применяем предложенный трюк. Диалог так же ездит, но бровс перерисовывается мгновенно.

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



Пост N: 68
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 09.01.11 16:03. Заголовок: Увы, колбасу я не уч..


Увы, колбасу я не учитываю

http://pics.qip.ru/002oAm-201nmrK/<\/u><\/a>

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




Пост N: 1618
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.01.11 19:44. Заголовок: Pasha пишет: Слуша..


Pasha пишет:

 цитата:

Слушай, зачем картинка, да ? Включаем абстрактное мышление.



Нужно переходить с терминалки ! А куда, пока не знаю. Вот и хочется посмотреть что люди делают !

fil пишет:

 цитата:
Увы, колбасу я не учитываю



Красиво тоже ! А при переключение на вкладки "Оплата", "Подрядчик" и др. - что происходит ?


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



Пост N: 73
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 09.01.11 19:59. Заголовок: Это прога некоего до..


Это прога некоего документооборота. Основной бровс содержит документы. Бровс ниже контекстно показывает те или иные дополнительные реквизиты текущего документа. Соответственно, выбор вкладок "Оплата", "Подрядчик" и др. - позволяет выбрать тот или иной контекст

Спасибо: 1 
ПрофильЦитата Ответить
Администратор




Пост N: 1782
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.01.11 22:32. Заголовок: Andrey пишет: Нужно..


Andrey пишет:

 цитата:
Нужно переходить с терминалки ! А куда, пока не знаю. Вот и хочется посмотреть что люди делают !



Картинки - это конечно хорошо, но боюсь, что картинки мало о чем скажут. Чтообы определиться в своих предпочтениях, надо самому что-нибудь сделать на обоих продуктах. Оценить трудоемкость одного и другого

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




Пост N: 1976
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.01.11 22:39. Заголовок: Pasha пишет: Чтообы..


Pasha пишет:

 цитата:
Чтообы определиться в своих предпочтениях, надо самому что-нибудь сделать на обоих продуктах


+1

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




Пост N: 1979
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.01.11 11:35. Заголовок: Снова засада :) Тако..


Снова засада :)
Такой ход работает нормально
 
obrw:blostfocus:={||DeleteObject( oBrw:hSaveScr ),oBrw:hSaveScr := WndBitMap( oBrw:hWnd )}


Но вот захотелось при открытии какого либо диалога , основное окно с бровсом делать полупрозрачным
В диалоге вызываю

SETTRANSPARENT(ownd:hWnd,220)

Все в норме только бровс весь черный , как ночь (при повторном вызове диалога все нормально). Куда копать ?

Исходник
 
#include "FiveWin.ch"
#define _WIN32_IE 0x0500
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400
#define WS_EX_LAYERED 0x80000
#define LWA_ALPHA 0x02
#define GWL_EXSTYLE (-20)
#define LWA_COLORKEY 1

FUNCTION SetColorTransparency( hWnd, nColor )
LOCAL nRet, lRet := .F.

SetWindowLong( hWnd, GWL_EXSTYLE, C_OR( GetWindowLong( hWnd, GWL_EXSTYLE ), WS_EX_LAYERED ) )

nRet := SetLayeredWindowAttributes( hWnd, nColor, 0, LWA_COLORKEY )
IF VALTYPE(nRet) == 'N'
lRet := ( nRet > 0 )
ENDIF


RETURN( lRet )

DLL32 Function SetLayeredWindowAttributes(hwnd as LONG, crkey as LONG,bAlpha as LONG ,dwFlags as DWORD) AS LONG ;
PASCAL FROM "SetLayeredWindowAttributes" Lib "user32.dll"


#pragma BEGINDUMP

#include <windows.h>
#include "hbapi.h"
#include<stdio.h>
#include<string.h>
#include<shellapi.h>




HB_FUNC( SETTRANSPARENT)

{

typedef BOOL (__stdcall *PFN_SETLAYEREDWINDOWATTRIBUTES)(HWND,COLORREF,BYTE,DWORD);

PFN_SETLAYEREDWINDOWATTRIBUTES pfnSetLayeredWindowAttributes = NULL;

HINSTANCE hLib = LoadLibrary("user32.dll");

if (hLib != NULL)
{
pfnSetLayeredWindowAttributes = (PFN_SETLAYEREDWINDOWATTRIBUTES)GetProcAddress(hLib,"SetLayeredWindowAttributes");
}

if (pfnSetLayeredWindowAttributes)
{
SetWindowLong((HWND) hb_parnl (1),GWL_EXSTYLE,GetWindowLong((HWND) hb_parnl (1),GWL_EXSTYLE) | WS_EX_LAYERED);
pfnSetLayeredWindowAttributes((HWND) hb_parnl (1), 0, hb_parni (2), LWA_ALPHA);
}

if (!hLib)
{
FreeLibrary(hLib);
}

}

#define HB_OS_WIN_32_USED
/*#define _WIN32_WINNT 0x0400 */
#include <windows.h>
#include "hbapi.h"
#include "hbapiitm.h"

HB_FUNC ( SETWINDOWLONG )
{
hb_retnl( SetWindowLong( (HWND) hb_parnl(1), hb_parni(2), hb_parnl(3) ) );
}

HB_FUNC( C_AND )
{
hb_retnl( hb_parnl(1) & hb_parnl(2) ) ;
}

HB_FUNC( C_OR )
{
hb_retnl( hb_parnl(1) | hb_parnl(2) ) ;
}

HB_FUNC( C_NOT )
{
hb_retnl( ~hb_parnl(1) ) ;
}


#pragma ENDDUMP



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



Пост N: 76
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 12.01.11 12:07. Заголовок: Наверное моно сохран..


Наверное моно сохранить экран с бровсом как картинку. Делать бровс Hide, а вместо него светить эту картинку - вроде есть примерчики по прозрачности

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


Пост N: 38
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 12.01.11 14:27. Заголовок: fil пишет: Наверное..


fil пишет:

 цитата:
Наверное моно сохранить экран с бровсом как картинку. Делать бровс Hide, а вместо него светить


Можно :) А вообще зачем это делать? Для себя я нашел только одно объяснение , т.к. ни на полупразрачном бровсе
особо не поймешь что есть , то видимо это для того что бы подчеркнуть ( выделить) важность того что есть на диалоге.
Если так то огород годить , а потом бороться с "следами" "жетами" смысла нет - можно использовать стандартный код:





#include 'fivewin.ch'
#include 'ord.ch'
#include 'xbrowse.ch'

REQUEST DBFCDX

static cBmpPath := 'c:\FWH\bitmaps\backgrnd\'

function Main()

local oWnd, oBar, oBrw

USE CUSTOMER

DEFINE WINDOW oWnd TITLE 'Проба'

@ 0, 0 XBROWSE oBrw OF oWnd ;
ALIAS 'CUSTOMER' AUTOCOLS ;
CELL LINES ;
COLOR CLR_WHITE, CLR_BLUE


DEFINE BUTTONBAR oBar OF oWnd SIZE 100,32 2007

DEFINE BUTTON OF oBar PROMPT 'TESTIK';
ACTION BlurEffect( oBrw )


SET MESSAGE OF oWnd TO FWVERSION 2007

oBrw:SetBackGround( cBmpPath + 'water3.bmp' )
oBrw:CreateFromCode()
oWnd:oClient := oBrw

ACTIVATE WINDOW oWnd MAXIMIZED


return nil

Function BlurEffect( oBrw )
local hBmp
local hBlur

oBrw:GetDC()

hBmp := MakeBkBmp( oBrw:hWnd, oBrw:hDC )
hBlur := Blur( hBmp, 3 )

PalBmpDraw( oBrw:hDC, 0, 0, hBlur )

MsgStop( "Увлечение компом портит глаза!" )
DeleteObject( hBmp )
DeleteObject( hBlur )

oBrw:ReleaseDC()
return nil

Меняя в Blur( hBmp, 3 ) второй параметр можно усиливать или уменьшать эффект


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




Пост N: 1980
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.01.11 15:49. Заголовок: ММК Идея хороша :) ..


ММК
Идея хороша :)
Есть только одна проблема , функция Blur появилась с версии 9.08 а у меня (считал что и у тебя такая же)
9.05 однако.

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




Пост N: 1981
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.01.11 14:28. Заголовок: Pasha Сдвигаю диал..


Pasha

Сдвигаю диалог в сторонку а под ним портится изображение
Куда копать ?




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




Пост N: 1994
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.01.11 17:46. Заголовок: Dima пишет: Сдвигаю..


Dima пишет:

 цитата:
Сдвигаю диалог в сторонку а под ним портится изображение


Таки проблема осталась и возникает она только в случае использования класса TXBR3 , что то в нем не то :(
Самому разобраться не по силам , так как я только в начальной стадии познания FW

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



Пост N: 78
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 14.01.11 18:17. Заголовок: В TSBrowse аналогичн..


В TSBrowse аналогично. Т.ч. не то не только в TXBR3

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


Пост N: 43
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 14.01.11 18:55. Заголовок: fil пишет: Таки про..


fil пишет:

 цитата:
Таки проблема осталась и возникает она только в случае использования класса TXBR3 , что то в нем не то :(



Все правильно -
Saving and restoring the bitmap is painting the saved image one pixel off from the original position. This can be fixed.
Переводить не надо?
TXBR3 выбрасывай, для твоего примера это лишнее. А потом начинай разбираться где "палка в колесе".
Думаю если у тебя остался диалог с жетом встроенный в футер бровса - убери,
похоже ты сразу ставишь несколько фильтров - убери . И т.д.

Определишь проблему, можно будет искать решение.
Найди первопричину :)





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




Пост N: 1995
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.01.11 19:15. Заголовок: ММК пишет: Найди пе..


ММК пишет:

 цитата:
Найди первопричину


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



ММК пишет:

 цитата:
Думаю если у тебя остался диалог с жетом встроенный в футер бровса - убери,


Убрал уже давно :)


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


Пост N: 44
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 14.01.11 20:16. Заголовок: Dima пишет: Все эти..


Dima пишет:

 цитата:
Все эти танцы с бубном начались из за того , что сторонний диалог или родной ежели его таскать
по бровсу , жутко тормозил при перемещении , так как бровс под ним все время перерисовывался


Сделай пример , а там посмотрим
Dima пишет:

 цитата:
Собственно есть аналогичная тема на форуме поддержки и способ ее решения а именно класс Txbr3


за все время там один ( у которого проблема ) , ты второй :)
и если ты прочитал эту тему то решения ( чистого ) пока так и не нашлось.
Еще раз -Saving and restoring the bitmap is painting ...
Сохранение и востановление как раз и вызывает то искажение которое ты видешь.

пример или исходник , а так это все пустое

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




Пост N: 1996
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.01.11 23:48. Заголовок: ММК пишет: пример и..


ММК пишет:

 цитата:
пример или исходник , а так это все пустое


Пример сделать не проблема. Ты же понял о чем речь ? :)
Хочешь сказать что у тебя нет тормозов и шлейфа при перемещении диалога (окна) по бровсу ?

Берем из примеров любой , скажем testxbr3. Вызываем там любой бровс и растягиваем окошко
поширше. Затем берем любое открытое окно в винде и тянем его на наш открытый бровс и елозим его
туда , сюда по бровсу. Тормоз и шлейф видно невооруженным глазом.
Видео что ли выложить....
Касается это не только бровса . На тулбаре с кнопками тот же шлейф и тормоз. Мне лично по фиг , но клиенты
меня достанут :))


PS
Видеокарта у меня дай бог каждому такую , так что она тут не при чем :)


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




Пост N: 1997
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 11:48. Заголовок: Вот и ролик приехал ..

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


Пост N: 45
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 15.01.11 14:09. Заголовок: Dima пишет: Видеока..


Dima пишет:

 цитата:
Видеокарта у меня дай бог каждому такую , так что она тут не при чем :)


Очень красиво , попросили бы так не сумел :)
Dima пишет:

 цитата:
Ты же понял о чем речь ? :)
Хочешь сказать что у тебя нет тормозов и шлейфа при перемещении диалога (окна) по бровсу ?


Теперь понял. А авишку ты чем делал? научи

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




Пост N: 1998
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 14:11. Заголовок: Авишку делал с помощ..


Авишку делал с помощью Mr. Captor , есть там захват видео.

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




Пост N: 1999
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 14:18. Заголовок: В принципе есть один..


В принципе есть один ход что бы и фон под диалогом не портился и диалог не тормозил при перемещении.
В INIT диалога прописать к примеру SETTRANSPARENT(odlg:hWnd,255) (сырцы выше в топике) , но есть побочный эффект , если в диалоге живет бровс , то он начинает тормозить


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




Пост N: 1793
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.01.11 14:55. Заголовок: Dima пишет: Вот и р..


Dima пишет:

 цитата:
Вот и ролик приехал

http://files.mail.ru/UREZ7A<\/u><\/a>

Фон бровса выбрал потемнее , что бы виднее было "эффект"



Шлейф хороший, внушаетЬ :)
Но у меня такого не получилось. Я взял тестовый пример samples\testxbrw, запустил его, и елозил по нему калькулятором. Очень небольшая задержка при перерисовке есть, но никакого шлейфа нет и в помине. Видеокарта у меня слабенькая, на борту.
Так надо выяснить, в чем проблема. Дима, ты говоришь, что у тебя и тест из samples дает такой шлейф ? У меня этого примера нет, наверное он появился в fwh позже. А как у тебя с тестом testxbrw ? Эффект имеет место быть ? Можешь запустить этот пример для своего fwh и fwh 612 ?

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




Пост N: 2000
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 15:13. Заголовок: Pasha пишет: А как..


Pasha пишет:

 цитата:
А как у тебя с тестом testxbrw ?


Точно так же :(

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


Пост N: 46
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 15.01.11 15:13. Заголовок: Dima пишет: В принц..


Dima пишет:

 цитата:
В принципе есть один ход


Да о чем ты говоришь?!! Это или машина или система, я на 95 винде такого не видел!
Скачал какую-то Mr. Captor , так она даже не запустилась по семеркой. Хотел тебе "понавороченей" картинку сделать

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




Пост N: 2001
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 15:20. Заголовок: OK , отдам клиенту ,..


OK , отдам клиенту , пусть он потестит и вынесет вердикт.

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




Пост N: 1794
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.01.11 16:09. Заголовок: Dima пишет: Pasha п..


Dima пишет:

 цитата:
Pasha пишет:

цитата:
А как у тебя с тестом testxbrw ?



Точно так же :(



Дима, а выложи пример в виде exe с нужными дбф, который у тебя такой красивый шлейф дает. И prg теста можно.
Я у себя его прогоню

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




Пост N: 2002
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 16:22. Заголовок: Pasha http://files...

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




Пост N: 2003
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 16:47. Заголовок: Опс. Базы http://fil..

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




Пост N: 1795
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.01.11 18:29. Заголовок: У меня winxp sp2. Пе..


У меня winxp sp2.
Перетаскивание окна по бровсу выглядит так:
1. leftclick на заголовке окна
2. В процессе таскания окно не перерисовывается, а перерисовывается только его контур. Окно пока остается на месте, бровс тоже не перерисовывается.
3. Отпускаю мышку. Только после этого окно перерисовывается, заодно и бровс под ним. Шлейфа нет.

У тебя окно и бровс под ним перерисовывается все время при движении мышки. В результате есть шлейф.
То есть у меня при таскании окно с бровсом перерисовывается один раз, а у тебя - стотыщпицот раз, вот и получается медленно

Что это за визуальный эффект windows ? Какая-то настройка ? Может убрать ее, и все дела ?

Картинка:
http://pics.qip.ru/002uxF-2001luA/<\/u><\/a>

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




Пост N: 2004
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 18:33. Заголовок: Pasha пишет: Что эт..


Pasha пишет:

 цитата:
Что это за визуальный эффект windows ? Какая-то настройка ?


Даже не знаю что за эффект. Сейчас покопаю. Спасибо !

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




Пост N: 2005
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 18:38. Заголовок: Ага , стояла галка ,..


Ага , стояла галка , Отображать содержимое окна при перетаскивании. Снял , шлейфа нет.
Я проживу без этой галки а вот если у кого то она будет стоять..........то сделают мне дырку в голове :)

PS
Txbr3 отключил

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




Пост N: 2006
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 18:44. Заголовок: Dima пишет: стояла ..


Dima пишет:

 цитата:
стояла галка , Отображать содержимое окна при перетаскивании


Павел а поставь временно у себя эту галку , шлейф как и у меня будет ? :)

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




Пост N: 1796
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.01.11 18:47. Заголовок: Dima пишет: а вот е..


Dima пишет:

 цитата:
а вот если у кого то она будет стоять..........то сделают мне дырку в голове :)



Дык за красоту надо платить.. вот пусть и платят, так и говори им
А где эту галку хоть искать ?

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




Пост N: 2007
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 18:52. Заголовок: Pasha пишет: А где ..


Pasha пишет:

 цитата:
А где эту галку хоть искать ?





В оформлении -> эффекты

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




Пост N: 2008
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 18:57. Заголовок: Теоретически нужно к..


Теоретически нужно как то правильно изменить свойства диалога в программе что бы не было вот таких тормозов
при включенной галке.
Я уже писал выше , если в INIT диалога вызывать SETTRANSPARENT то в этом случае шлейф пропадает
и все двигается очень даже хорошо , но это не выход конечно , так как если в диалоге живет бровс ,
то после SETTRANSPARENT он начинает жутко тормозить.

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




Пост N: 1797
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.01.11 19:00. Заголовок: Небольшой шлейф есть..


Небольшой шлейф есть, заметно меньше чем у тебя. Но ты сделал пример с ado-access, а там выборка данных медленнее.


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


Пост N: 47
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 15.01.11 20:35. Заголовок: Pasha пишет: ado-a..


Pasha пишет:

 цитата:
ado-access, а там выборка данных медленнее.


Паша в FWH такая выборка если не быстрее то такая же. Вопрос в системе-есть сборки для ламеров; красивые заставочки , шлейф за мышкой , указатель полный писец...
FWH использует системные вызовы, ну и результат налицо.
Хотя я даже подумать не мог что у Димы настолько левая система.
Извини , Дима, думал что ты настолько нахомутал в пр-ме.
Такое бывает :))

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


Пост N: 48
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 15.01.11 21:15. Заголовок: Dima пишет: Ага , с..


Dima пишет:

 цитата:
Ага , стояла галка


Есть еще один ньюанс. Это рус.язык . Проблемы возникают при выгрузке , к примеру , в ексель.
Т.е. вроде система нормальная, но рус-ция выполнена некоректно . Как с этим бороться я тебе писал.
Это к тому что самое время тебе поставить семерку :)))

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




Пост N: 2009
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.01.11 23:16. Заголовок: ММК пишет: Хотя я д..


ММК пишет:

 цитата:
Хотя я даже подумать не мог что у Димы настолько левая система


Почему ты решил что у меня левая система ?
Ни когда не ставил ни каких левых сборок , только официальные дистрибутивы + русский MUI

ММК пишет:

 цитата:
Извини , Дима, думал что ты настолько нахомутал в пр-ме.


Нет это не так , у меня хорошие учителя

ММК пишет:

 цитата:
Это к тому что самое время тебе поставить семерку



Поставить не проблема , только не пойму что мне эта семерка даст в отличие от XP , меня и XP
вполне устраивает .

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


Пост N: 49
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 16.01.11 11:10. Заголовок: Dima пишет: только ..


Dima пишет:

 цитата:
только не пойму что мне эта семерка даст в отличие от XP , меня и XP
вполне устраивает .


Каюсь ( низко склонил голову ) корысти ради :( Дело в том что в этой системе есть своя "индивидуальность" .
Хотелось бороться с этим не в одиночку...


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




Пост N: 2010
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.01.11 23:53. Заголовок: ММК пишет: Все прав..


ММК пишет:

 цитата:
Все правильно -
Saving and restoring the bitmap is painting the saved image one pixel off from the original position. This can be fixed.



Это как то лечится ?!
Достала эта проблема если честно.

Отключил TXBR3 и дал поюзать клиенту. Поюзал он на 5 машинах ( на всех Windows XP ).
Шлейф и тормоза при перемещении диалога (окна) по бровсу есть. Ему не понравилось.
Понимаю что на форуме мало кто юзает FW , но вдруг есть у кого то решение.


Нашел временное решение , устанавливая прозрачность родительского окна в котором живет бровс
(меняя его SETLAYEREDWINDOWATTRIBUTES) при вызове диалога , странно но в этом случае нет ни каких тормозов
при перемещениях диалога (окна) по бровсу.


ММК
Не пойму , ты закрываешь глаза на проблему или не желаешь ее увидеть ? :) Она ведь есть. Видео ты видел.
Не стал бы я тут флуд разводить в многоэтажной теме , если бы не было проблемы.


ММК пишет:

 цитата:
Каюсь ( низко склонил голову ) корысти ради :( Дело в том что в этой системе есть своя "индивидуальность" .
Хотелось бороться с этим не в одиночку...



Чес слово , установлю семерку если решим проблему !


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




Пост N: 79
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 18.01.11 09:15. Заголовок: Попробуй с oBrw:lDontChange := .f.


Попробуй с oBrw:lDontChange := .f. , когда теряет фокус
правда ето из TSBROWSE Minigui , Но он же взаят из FWH

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


Пост N: 50
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 18.01.11 09:39. Заголовок: Dima пишет: Она вед..

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




Пост N: 2012
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.01.11 10:58. Заголовок: sashaBG пишет: Попр..


sashaBG пишет:

 цитата:
Попробуй с oBrw:lDontChange := .f.


Не увидел такого , в том числе Tsbrowse FWH
Можешь выложить исходник Tsbrowse MiniGui ?

ММК пишет:

 цитата:
ну и двигаем


Все по прежнему :(
По ходу прога чудно падает , если все окошки развернуть на полный экран
( включая Window -> RDD->ALL COLS) и затем вызвать Dialog ->RDD->Select Cols

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



Пост N: 79
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 18.01.11 11:26. Заголовок: Шлейф при таскании о..


Шлейф при таскании окна с бровсом у меня проявляется достаточно слабо(создается впечатле, что это зависит от типа окна по ком таскают)
Есть, однако, еще такая фигня - ежели таскать диалог с бровсом и часть его загнать его за экран, то все строки броса стираются(кроме 3 первых)
Для восстановления картинки приходится бровс рефрешить. Как с этим бороться? Видимо отлавливать Capture ?

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




Пост N: 80
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 18.01.11 11:49. Заголовок: Смотри в h_tbrowse.prg


Смотри в h_tbrowse.prg

https://docs.google.com/leaf?id=0Bwyv76swZloxOTRkYjUzOGQtYTcwMi00YTdjLWI0MDktMGMxYjFmYWQwYjMy&sort=name&layout=list&num=50

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


Пост N: 51
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 18.01.11 12:18. Заголовок: fil пишет: Шлейф пр..


fil пишет:

 цитата:
Шлейф при таскании окна с бровсом у меня проявляется достаточно слабо(создается впечатле, что это зависит от типа окна по ком таскают)
Есть, однако, еще такая фигня - ежели таскать диалог с бровсом и часть его загнать его за экран, то все строки броса стираются(кроме 3 первых)


ну у меня его вообще нет(машина нормальная ) Вот сейчас сходил глянул на слабенькой. Виден шлейф , правда не такой , как в "кино"
Если с бровса убрать градиент то строки вроде не стираются. Т.е. есть зависимость от машины.
И от окон наверное. MDI не использую. Окно (диалог) фолдер

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




Пост N: 1799
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 18.01.11 12:19. Заголовок: sashaBG пишет: Смот..


sashaBG пишет:

 цитата:
Смотри в h_tbrowse.prg



Да толку то, это же совершенно разные классы - TSBROWSE и TXBROWSE

Да и назначение у этого свойства другое: avoids user to change line with mouse or keyboard
К тому же в TSBrowse для fwh этого свойства еще нет, по крайней мере в версии 8.0

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


Пост N: 52
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 18.01.11 12:40. Заголовок: fil пишет: создаетс..


fil пишет:

 цитата:
создается впечатле, что это зависит от типа окна по ком таскают


Да. На том же примере если запустить сначало Dialog , а потом "потаскать" по ним к приммеру фар, то видно что
MDI перерысовывает гораздо "грубее" Очень наглядно

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



Пост N: 80
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 18.01.11 12:54. Заголовок: А за экран, почему с..


А за экран, почему стирается часть бровса?

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




Пост N: 2013
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.01.11 13:07. Заголовок: ММК пишет: MDI пере..


ММК пишет:

 цитата:
MDI перерысовывает гораздо "грубее"


у меня одинаково

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


Пост N: 53
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 18.01.11 13:17. Заголовок: Dima пишет: у меня ..


Dima пишет:

 цитата:
у меня одинаково


http://files.mail.ru/0VCA6O<\/u><\/a>
А вот так?

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




Пост N: 2014
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.01.11 13:23. Заголовок: ММК пишет: А вот та..


ММК пишет:

 цитата:
А вот так?


Слишком маленький размер диалога что бы тестить , но все равно шлейф есть , при чем
только в программах FWH

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


Пост N: 54
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 18.01.11 13:34. Заголовок: Dima пишет: но все ..


Dima пишет:

 цитата:
но все равно шлейф есть , при чем
только в программах FWH


Если уж и на этом примере есть проблема , то можешь смело завязывать с FWH :)))

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




Пост N: 2015
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.01.11 13:43. Заголовок: ММК Совет впечатляе..


ММК
Совет впечатляет.......

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




Пост N: 2016
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.01.11 14:12. Заголовок: Dima пишет: устанав..


Dima пишет:

 цитата:
устанавливая прозрачность родительского окна в котором живет бровс
(меняя его SETLAYEREDWINDOWATTRIBUTES) при вызове диалога , странно но в этом случае нет ни каких тормозов
при перемещениях диалога (окна) по бровсу



ММК
Как ты это сможешь прокомментировать ?
Вероятно что то все таки сделать можно ;)

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




Пост N: 1800
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 18.01.11 15:42. Заголовок: Dima пишет: Dima пи..


Dima пишет:

 цитата:
Dima пишет:

цитата:
устанавливая прозрачность родительского окна в котором живет бровс
(меняя его SETLAYEREDWINDOWATTRIBUTES) при вызове диалога , странно но в этом случае нет ни каких тормозов
при перемещениях диалога (окна) по бровсу




ММК
Как ты это сможешь прокомментировать ?
Вероятно что то все таки сделать можно ;)



Наверное, при этом windows вообще не посылает WM_PAINT этому контролу

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




Пост N: 2017
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.01.11 15:47. Заголовок: Pasha пишет: Навер..


Pasha пишет:

 цитата:

Наверное, при этом windows вообще не посылает WM_PAINT этому контролу


Вероятно так и есть , потому что ни каких тормозов и шлейфов нет и в помине.
Возможно есть и какой то более цивилизованный подход , но он мне пока не по силам.
Готов потестить другие варианты при котором windows не посылает WM_PAINT этому контролу

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




Пост N: 2018
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.01.11 17:00. Заголовок: Pasha пишет: Наверн..


Pasha пишет:

 цитата:
Наверное, при этом windows вообще не посылает WM_PAINT этому контролу


Похоже он не посылает не что другое , вопрос что ???

Отключаем прорисовку (но это явно не то)
#define WM_SETREDRAW 11
ownd:sendmsg(WM_SETREDRAW, 0, 0)

Включаем снова
ownd:sendmsg(WM_SETREDRAW, 1, 0)


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




Пост N: 2026
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.01.11 08:42. Заголовок: Pasha пишет: Тогда ..


Pasha пишет:

 цитата:
Тогда можно усложнить проверку

Local nFocus := GetFocus()
Local lFocus := .f.
AEval(::oWnd:aControls, {|o| if(o:hWnd==nFocus, lFocus := .t., )})
if ::hSaveScr != nil .and. nFocus != ::hWnd .and. nFocus != ::oWnd:hWnd .and. ! lFocus



Похоже нужно еще усложнять.........
Есть некоторые грабли.

Сидим в бровсе. В этом же окне живет GET и TOOLBAR панель.
Переходим в GET , бровс жив. Возвращаемся в бровс и жмем кнопку на панели
TOOLBAR вызывая какой то диалог, бровс "Замерз" , все верно.
Усложняем.
Переходим в GET а из GET жмем ту же кнопку в TOOLBAR панели , бровс "Замерзает"
только под диалогом.
У бровса установлено obrw:blostfocus:={||DeleteObject( oBrw:hSaveScr ),oBrw:hSaveScr := WndBitMap( oBrw:hWnd )}
Что то не то ........

Для наглядности в TXBR3 заменил DrawBitmap на ABPaint c уровнем прозрачности 120

Мы в GET



Из бровса сразу жмем кнопку в ToolBar



А вот тут находясь в GET жмем кнопку в Toolbar




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




Пост N: 2027
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.01.11 09:22. Заголовок: Выкрутился :) В вызы..


Выкрутился :)
В вызываемом диалоге бровсу делаем Refresh()

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




Пост N: 2028
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.01.11 12:20. Заголовок: Прикол :sm12: Отк..


Прикол

Открыл COMODO FIREWALL и поездил по нему другим окошком , следы и шлейф впечатляют.

Тоже и в µTorrent если в нем "покататься" по панели кнопок :)

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


Пост N: 55
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 21.01.11 17:51. Заголовок: Dima пишет: Прикол ..


Dima пишет:

 цитата:
Прикол


FW разваливает все?!!!

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




Пост N: 2029
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.01.11 18:41. Заголовок: ММК пишет: FW разва..


ММК пишет:

 цитата:
FW разваливает все?!!!



К "приколу" FW не имеет отношения и потом на твоей Семерке
этого просто не будет. Эффект хорошо видно в XP (есть еще такая системка )

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




Пост N: 1803
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.01.11 19:00. Заголовок: Dima пишет: Прикол ..


Dima пишет:

 цитата:
Прикол



Дык :)
Кстати, тормозят (дают шлейф) все гуишные харборовские гриды во всех библиотеках. TSbrowse тормозит, мой грид тормозит
И причина этого у всех одинакова. Основа грида - не стандартный контрол windows, а прорисовка всего - заголовков, области данных, футеров, линий и прочей красоты самостоятельно. Вот все это хозяйство и перерисовывается медленно.
Я не считаю, что это какая-то проблема, которую надо решать. Я и не знал о ней ! За 10 с лишним лет никому не пришло в голову повозюкать чем-нибудь квадратным по моему гриду и пожаловаться мне на шлейф. А он есть, этот шлейф. И если бы не Дима, я так и пребывал бы в неведении.
А так, скажите, зачем кататься окошком по гриду ? Разве что от скуки. Ну так это пустое, скука пройдет, скучающий начнет работать, и ему будет не до красивого шлейфа. Тем более этот шлейф легко убирается настройкой эффектов

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


Пост N: 56
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 22.01.11 09:25. Заголовок: Dima пишет: потом н..


Dima пишет:

 цитата:
потом на твоей Семерке
этого просто не будет. Эффект хорошо видно в XP (есть еще такая системка )


Будет , будет...

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

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