Forth
http://fforum.winglion.ru/

Особенности работы WinLib by ~yz+~ygrek
http://fforum.winglion.ru/viewtopic.php?f=18&t=644
Страница 2 из 4

Автор:  Гость [ Ср июн 06, 2007 16:05 ]
Заголовок сообщения: 

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

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

P.S. Заметил еще одну странность при скрытии сетки с тулбарами то
от элемента спин остаются видны, частично, стрелочки управления спином.
Другие элементы в этой сетке не проявляются, при первом рассмотрении.

Автор:  Гость [ Ср июн 06, 2007 16:36 ]
Заголовок сообщения: 

Выяснил, что сообщения от мыша перехватываются для обработки,
Осталось выяснить как сделать более реальную трассу при движении мыши.

Автор:  in4 [ Ср июн 06, 2007 16:54 ]
Заголовок сообщения: 

Гость писал(а):
Указанным способом, что то пока неудачно.
Возможно оставшийся сплиттер на поле мешает.

Да, такой способ работает (без доп. действий) только для внутренностей главного окна, а не для внутренностей сеток. Про то, что это в сетке, в вопросе речи не было... :( Поэтому и прошу пример... ;)
Есть еще варианты:
Код:
\ где-то в начале...
WINAPI: SetCapture     USER32.DLL
WINAPI: ReleaseCapture USER32.DLL
...
\ в перехвате подходящего начала рисования, обычно M: xxx_begindrag
...
   thiswin -hwnd@ SetCapture DROP
\ и установить флаг захвата мышки
...

M: wm_lbuttonup \ или аналогичном по другой кнопке
...
     ReleaseCapture DROP
...
M;
M: wm_capturechanged
\ это событие вызывается несклькими причинами, не только при нашем отпускании кнопки!
\ и это важно!
\ вот тут сбросить флаг захвата мышки
...
M;

Собираюсь доку написать по этому поводу, когда все закончу, а сейчас написал навскидку :(
При разбирательстве я пользовался докой по MS API от Делфи7 и WinSight32. Можно MSDN.

Автор:  Гость [ Ср июн 06, 2007 17:35 ]
Заголовок сообщения: 

in4 писал(а):
Гость писал(а):
Указанным способом, что то пока неудачно.
Возможно оставшийся сплиттер на поле мешает.

Да, такой способ работает (без доп. действий) только для внутренностей главного окна, а не для внутренностей сеток. Про то, что это в сетке, в вопросе речи не было... :( Поэтому и прошу пример... ;)
[quote]
У меня пока на главном окне и заработало:) Мышь трассируется в окне.
но что то необходимо сделать с уменьшением мелькания панели кнопок
и строки статуса при перерисовки окна.

1. Можно при работе с рабочей областью их отключать.
2. Попробовать под ними закрасить соответствующим цветом.
3. Проредить события перерисовки окна.

могут быть еще варианты.

P.S. Это не графический редактор, хотя стартовый уровень для его создания подойдет.
Хочется предсказуемо редактировать и визуализировать блок схемы.
Можно сделать, например, простейший UML редактор.
Читать и сохранять файлы в необходимом формате.

Автор:  in4 [ Ср июн 06, 2007 18:06 ]
Заголовок сообщения: 

Гость писал(а):
но что то необходимо сделать с уменьшением мелькания панели кнопок
и строки статуса при перерисовки окна.

Ну, тут мне глянуть надо.
Гость писал(а):
1. Можно при работе с рабочей областью их отключать.

проще всего ;)
Гость писал(а):
3. Проредить события перерисовки окна.

IMHO д.б. средства "lock прорисовку" до "unlock прорисовку"... Сам не пробовал
Гость писал(а):
Хочется предсказуемо редактировать и визуализировать блок схемы.

Мне тоже! ;)

А почему бы не зарегистрироваться? Так можно будет отличаться от других Гостей.
Или уже? Тогда почему не под своим именем? ;)

Автор:  yz [ Ср июн 06, 2007 18:48 ]
Заголовок сообщения: 

Anonymous писал(а):
Где можно будет взять исправленный splitter и посмотреть тестовый пример?
У меня splitter на полном экране сильно тормозит и не отрисовывается
основное изображение пока он перемещается.

Игорь уже намекал вам, что мысли читать умеют не все. Тем более угадывать, что вы у себя написали. Очень не помешали бы маленькие фрагменты неработающего кода с точным указанием, что именно не так.
У меня разделитель нормально работает и не тормозит (AMD 3500 Ггц). Правда, мерзко моргает.

Автор:  Kopa [ Чт июн 07, 2007 06:52 ]
Заголовок сообщения: 

yz писал(а):
Игорь уже намекал вам, что мысли читать умеют не все. Тем более угадывать, что вы у себя написали. Очень не помешали бы маленькие фрагменты неработающего кода с точным указанием, что именно не так.
У меня разделитель нормально работает и не тормозит (AMD 3500 Ггц). Правда, мерзко моргает.


Попробую создать маленький пример для теста.
А какие выводы можно сделать по приводимому ранее тесту.

P.S. У меня P4 ( 2400/1Гиг )

Автор:  Kopa [ Чт июн 07, 2007 06:59 ]
Заголовок сообщения: 

in4 писал(а):
Гость писал(а):
Хочется предсказуемо редактировать и визуализировать блок схемы.

Мне тоже! ;)
А почему бы не зарегистрироваться? Так можно будет отличаться от других Гостей.
Или уже? Тогда почему не под своим именем? ;)


Хорошо когда интересы совпадают.
Думаю, большинство сообщений от Гость - мои.:)
Ссылки теперь приходится постить под именем.

P.S. Можно немного применить телепатические способности, что бы догадаться:)
или отфильтровать сообщения по IP ( если это было бы возможно),
но он может изменяться.

Автор:  yz [ Чт июн 07, 2007 10:57 ]
Заголовок сообщения: 

Kopa писал(а):
А какие выводы можно сделать по приводимому ранее тесту.

Он слишком длинный и разбираться в нем не тянет :-(
Вы уж давайте по одной проблеме за раз.

Автор:  Гость [ Чт июн 07, 2007 11:38 ]
Заголовок сообщения: 

yz писал(а):
Kopa писал(а):
А какие выводы можно сделать по приводимому ранее тесту.

Он слишком длинный и разбираться в нем не тянет :-(
Вы уж давайте по одной проблеме за раз.


Можно немного урезать, но он и делался для проверки функциональности более
сложной сетки. Три примера, по отдельности работают, а вот если их скомпоновать
то результаты работы сеток должны выглядеть также или нет.
Если нет, то что сделать для приведения к требуемому виду?

P.S. In4 пример запустил и претензий к его наполнению не высказал:)
Необязательно, если есть некоторые проблемы с библиотечкой,
дорабатывать ее немедленно. Но если оставить все как есть, то
или придется продолжить изыскания ее правильного применения или
доработать самому и возможно не так как задумывалось автором.

Автор:  in4 [ Чт июн 07, 2007 14:47 ]
Заголовок сообщения: 

Гость писал(а):
In4 пример запустил и претензий к его наполнению не высказал

да, запустил - посмотрел - тормоза заметил, а что ожидалось так и не понял :(
Какие м.б. претензии, к кому? ;)

Автор:  Гость [ Чт июн 07, 2007 15:43 ]
Заголовок сообщения: 

in4 писал(а):
Гость писал(а):
In4 пример запустил и претензий к его наполнению не высказал

да, запустил - посмотрел - тормоза заметил, а что ожидалось так и не понял :(
Какие м.б. претензии, к кому? ;)


Все что у меня отобразилось и как описано постами выше. :<

P.S. Наверное лэжи у меня не те или не сезон.:)

Автор:  Гость [ Вт авг 21, 2007 12:36 ]
Заголовок сообщения: 

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

Код:
REQUIRE toolbar    ~yz/lib/wincc.f
REQUIRE button ~yz/lib/winctl.f

S" ~yz/cons/commctrl.const" LOAD-CONSTANTS

0 VALUE t
500 VALUE sizex
500  VALUE sizey

" Тест табы" ASCIIZ prog-name

: make-grids
  GRID
   GRID
       filler (/ -size 150 4 /) | -yfixed
      ===
       " Индикатор:" label |
       ===
       progress -xspan 60 this +pos! " Это пример индикатора" this -tooltip! |
      ===
       " 1 панель" groupbox cur-grid @ :gbox !
   GRID; -xspan |
   ===
   GRID
     filler (/ -size 150 4 /) | -yfixed
      ===
         0 tabcontrol TO t
      GRID
         ===
         " 123" label (/ -font -align center /) -top |
         " 1234" label (/ -font -align center /) -top |
         " 12345" label (/ -font -align center /) -top |
         " 123456" label (/ -font -align center /) -top |
         ===
      GRID; -xspan " 1 вкладка" 0 0 t add-item
      GRID
        ===
        " 123" label (/ -font -align center /) -top |
        ===
      GRID; -xspan " 2 вкладка"  0 1 t add-item
      sizex 20 - 200 t ctlresize 10 100 t place
      ===
      " 2 панель" groupbox cur-grid @ :gbox !
   GRID; -xspan |
   ===
   GRID
     filler (/ -size 150 4 /) | -yfixed
      ===
       " Надпись:" label |
       ===
      " 3 панель" groupbox cur-grid @ :gbox !
   GRID; -xspan |
   ===
GRID; winmain -grid!
;
 
: run ( )
." Запуск" CR
  prog-name TO mbox-title
  WINDOWS...
    0 dialog-window TO winmain
    prog-name winmain -text!
    0 create-tooltip
    winmain create-status
    make-grids
    sizex sizey  winmain winresize
    winmain winshow
  ...WINDOWS
  BYE
;

0 TO SPF-INIT?
' ANSI>OEM TO ANSI><OEM
TRUE TO ?CONSOLE
' run MAINX !
S" test-tabs.exe" SAVE
BYE


Надо, чтобы рамка с названием "2 панель" отображалась вокруг табов. Со всеми элементами получается, а с табами нет.

Автор:  yz [ Ср авг 22, 2007 21:42 ]
Заголовок сообщения: 

Вы же сами принудительно навязываете табам неправильное расположение и исключаете их из сетки. Размеры окна тоже не надо выставлять вручную - оно само их посчитает.

Выкиньте из run вот эту строчку:
Код:
sizex sizey  winmain winresize

А вместо
Код:
sizex 20 - 200 t ctlresize 10 100 t place

должно быть так:
Код:
sizex 20 - 200 t ctlresize t |

Автор:  Гость [ Чт авг 23, 2007 13:12 ]
Заголовок сообщения: 

Спасибо, большое. Конечно же всё так получилось.... В следующий раз буду внимательнее

Страница 2 из 4 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/