View Issue Details

IDProjectCategoryView StatusLast Update
0002586Far ManagerPlugins API.Dialogpublic2014-04-09 14:07
ReporterJohnDoeAssigned Tovskirdin 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0 
Target VersionFixed in Version3.0 
Summary0002586: События: нет возможности отследить открытие комбобокса
DescriptionДля проверки открыт ли комбобокс служит сообщение DM_GETDROPDOWNOPENED
Эту проверку требуется привязать к характерному событию.
Подходящими выглядят только DN_GOTFOCUS или DN_CONTROLINPUT, однако в момент открытия комбобокса они не срабатывают.

Предлагаю после открытии комбобокса отправлять DN_GOTFOCUS
Steps To ReproduceEvent {
  group="DialogEvent";
  condition=function(Event,param)
    return far.SendDlgMessage (param.hDlg, F.DM_GETDROPDOWNOPENED)>0
  end;
  action=function(Event,param)
    far.Text(1,0,1,param.Msg)
    mf.waitkey()
  end;
}
Установив это обработчик надо открыть к примеру диалог создания папки (F7).
Перейдя к полю комбобокса нажмём CtrlDown.
В этот момент придёт 4100 (DN_CTLCOLORDLGLIST) и ничего более.
TagsNo tags attached.
Build3838

Activities

JohnDoe

2014-01-30 01:53

updater   bugnote:0011797

В начале "Steps To Reproduce" должна быть строка:
local F = far.Flags

vskirdin

2014-03-20 17:33

administrator   bugnote:0011997

Нужен DN_DROPDOWNOPENED? (какие Param1 и Param2?)

vskirdin

2014-03-20 17:54

administrator   bugnote:0011998

И да, поясни для чего тебе нужен DN_DROPDOWNOPENED и когда он должен приходить (преполагаю, что сразу как только открываем комбобокс).
Кстати, вот так пойдет: Param1=ID, Param2=1 - открыли, 0-закрыли?

JohnDoe

2014-03-20 18:14

updater   bugnote:0012000

Last edited: 2014-03-20 18:20

View 4 revisions

>для чего тебе нужен DN_DROPDOWNOPENED
В условиях тикета речь не шла о DN_DROPDOWNOPENED, но да, это решило бы мою проблему.
Требовалось отследить открытие комбобокса для того чтобы автоматически включить в нём фильтр. Param1/2 подходящие.
По идее первый раз должно приходить после открытия, а второй раз не знаю даже когда...
Может быть пока не реализовывать событие при закрытии, подожать пока будет какой-то сценарий практического использования.

P.S.
И следует также предусмотреть это событие и при открытии Историй текстбоксов, и списков Автодополнения (надо ещё подумать, они ведь реализованы как самостоятельные диалоги).

NightRoman

2014-03-20 18:32

reporter   bugnote:0012002

Наверное, надо бы 2 события DN_DROPDOWNOPENING (еще не открыт, но собирается) & DN_DROPDOWNOPENED (открыт). Зачем DN_DROPDOWNOPENING? Например, есть большой список данных, а используется редко. Каждый раз наполнять комбобокс нерационально. Хотелось бы иметь возможность заполнить в момент DN_DROPDOWNOPENING.

Или уже есть такая возможмость в АПИ. Я как-то смотрел и вроде не нашел. Но мог и проглядеть.

JohnDoe

2014-03-20 18:36

updater   bugnote:0012003

>DN_DROPDOWNOPENING
Или DN_DROPDOWNOPENED может приходить в обоих случаях, а различать можно по Param2

vskirdin

2014-03-20 18:53

administrator   bugnote:0012004

DN_DROPDOWNOPENED когда должен приходить? Или... между чем и чем? Перед чем?

Я пока поставил перед DN_CTLCOLORDLGLIST и после закрытия комбо, но до отрисовки элемента.

vskirdin

2014-03-26 17:34

administrator   bugnote:0012037

Подробности будут или Инц отработан?

JohnDoe

2014-03-26 17:48

updater   bugnote:0012039

Комп полетел, отчитаюсь как только восстановлю.

vskirdin

2014-04-01 09:52

administrator   bugnote:0012070

Комп восстановил?

JohnDoe

2014-04-09 12:20

updater   bugnote:0012180

Last edited: 2014-04-09 12:23

View 2 revisions

Всё Оk, закрываем.

P.S.
В энциклопедии:
Param1 - ID элемента диалога, который будет отрисован.

Наверно не "отрисован", а "раскрыт/закрыт" (не знаю корректно ли так выразится по отношению к тексбоксу)

Issue History

Date Modified Username Field Change
2014-01-30 01:26 JohnDoe New Issue
2014-01-30 01:53 JohnDoe Note Added: 0011797
2014-03-20 17:33 vskirdin Note Added: 0011997
2014-03-20 17:54 vskirdin Note Added: 0011998
2014-03-20 18:14 JohnDoe Note Added: 0012000
2014-03-20 18:16 JohnDoe Note Edited: 0012000 View Revisions
2014-03-20 18:19 JohnDoe Note Edited: 0012000 View Revisions
2014-03-20 18:20 JohnDoe Note Edited: 0012000 View Revisions
2014-03-20 18:32 NightRoman Note Added: 0012002
2014-03-20 18:36 JohnDoe Note Added: 0012003
2014-03-20 18:53 vskirdin Note Added: 0012004
2014-03-26 17:34 vskirdin Note Added: 0012037
2014-03-26 17:48 JohnDoe Note Added: 0012039
2014-04-01 09:52 vskirdin Note Added: 0012070
2014-04-09 12:20 JohnDoe Note Added: 0012180
2014-04-09 12:23 JohnDoe Note Edited: 0012180 View Revisions
2014-04-09 14:07 vskirdin Build => 3838
2014-04-09 14:07 vskirdin Status new => closed
2014-04-09 14:07 vskirdin Assigned To => vskirdin
2014-04-09 14:07 vskirdin Resolution open => fixed
2014-04-09 14:07 vskirdin Fixed in Version => 3.0