Как скрыть панель (и наоборот, сделать видимой)

Место, где разработчики плагинов могут поделиться своим опытом.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Latest post of the previous page:

t-rex wrote:FCTL_GETUSERSCREEN
выводит на экран userbuffer (то что под панелями)

если в плагине сделать...
Про писание не забудь (в смысле добавить :-))
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Вот тут http://farmanager.com/farbugs/Far171b2186.rar
финальная версия (на пока что :) ), пофиксил все баги что заметил с этой новой фичей. Самим уже курсор устанавливать не надо. Новые хедеры в архиве.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Post by NightRoman »

t-rex
Это "официально", так сказать? То есть именно эту версию (1.71.2186) я уже могу проверять в коде, чтобы использовать эту фичу?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

NightRoman
Угу.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Тока вот юзать лучше http://farmanager.com/farbugs/Far171b2187.rar из за других багов.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Post by DrKnS »

t-rex
То, что FCTL_GETUSERSCREEN работает только в зарегистрированной версии - это фича?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

DrKnS
Типа да. Надо будет все эти маразмы с не зарегеной версией с ER обсудить.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Как скрыть панель (и наоборот, сделать видимой)

Post by John Doe »

Если вызвать команду FCTL_GETUSERSCREEN в момент когда на экране диалог (то же если меню или справка), то этот диалог почему-то остаётся в буфере. То ли баг, то ли функция не рассчитана на такую работу.

Code: Select all

Macro {
  area="Common";
  key="F1";
  flags="Enableoutput";
  action=function()
    panel.GetUserScreen()
    --
    panel.SetUserScreen()
  end;
}
FCTL_SETUSERSCREEN, вызванный следом, "фиксирует" буфер, но если до этого на экране был диалог (например F7, на фоне панелей), то после FCTL_SETUSERSCREEN диалог будет на фоне консольного буфера.
(впрочем это несложно поправить вызовом far.AdvControl"ACTL_REDRAWALL")
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Как скрыть панель (и наоборот, сделать видимой)

Post by John Doe »

И ещё один момент: вызов команд FCTL_GET/SETUSERSCREEN зачем-то переводит строку.
Можно ли этого избежать?

Мне это нужно для того чтобы организовать просмотр консольного буфера, как замена CtrlO, но работающая отовсюду, а не только из панелей.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Как скрыть панель (и наоборот, сделать видимой)

Post by John Doe »

John Doe wrote: Если вызвать команду FCTL_GETUSERSCREEN в момент когда на экране диалог (то же если меню или справка), то этот диалог почему-то остаётся в буфере.
И вот проверил, в билде 4720 например такого не было ещё, а в 4725 уже есть.
Ставлю на это:

Code: Select all

drkns 24.06.2016 23:19:28 +0200 - build 4725

1. С форума: при запуске программ индикатор административных прав почему-то остаётся на экране.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Как скрыть панель (и наоборот, сделать видимой)

Post by zg »

John Doe wrote: Если вызвать команду FCTL_GETUSERSCREEN в момент когда на экране диалог (то же если меню или справка), то этот диалог почему-то остаётся в буфере.
4781.
Post Reply

Return to “Разработка плагинов”