View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002582 | Far Manager | Plugins API.Dialog | public | 2014-01-28 10:49 | 2014-01-30 16:50 |
Reporter | JohnDoe | Assigned To | lort | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | assigned | Resolution | open | ||
Product Version | 3.0 | ||||
Summary | 0002582: DM_GETDROPDOWNOPENED не работает в раскрытом списке истории поля ввода | ||||
Description | Для истории всегда возвращается 0. Для комбобокса этой проблемы нет. | ||||
Steps To Reproduce | Macro { description="bug"; area="UserMenu MainMenu Menu Dialog DialogAutoCompletion"; key="F1"; action=function() local hDlg = far.AdvControl("ACTL_GETWINDOWINFO").Id local info = far.SendDlgMessage (hDlg, "DM_GETDROPDOWNOPENED") far.Show(info) end; } | ||||
Additional Information | Очевидно с этим же связана проблема с макросвойством Dlg.ItemType: не определяется выбор из истории поля ввода (0x8004) Вместо этого всегда возвращается 4 http://api.farmanager.com/ru/macro/macrocmd/prop_func/dialog.html#Dlg.ItemType | ||||
Tags | No tags attached. | ||||
Build | |||||
|
Вероятно на открытый список автодополнения тоже надо реагировать. Возможно возвращаемое значение должно зависеть от типа открытого списка. |
|
Выпадающий список истории представляет собой отдельный диалог, со своим hDlg. Я предположил что DM_GETDROPDOWNOPENED надо посылать не в диалог истории, а в исходный диалог. Но нет, так тоже не работает. Macro { description="bug"; area="UserMenu MainMenu Menu Dialog DialogAutoCompletion"; key="F1"; action=function() local hDlg = far.AdvControl("ACTL_GETWINDOWINFO").Id local id = far.SendDlgMessage (hDlg, "DM_GETFOCUS") --local info = far.SendDlgMessage (hDlg, "DM_SETDROPDOWNOPENED",id,1) Keys "CtrlDown" local info = far.SendDlgMessage (hDlg, "DM_GETDROPDOWNOPENED") far.Show(info) end; } Запускать в любом диалоге, установив курсор в любое поле ввода. |
|
сломано в build 2897. нужный код закоментирован без объяснения причин. |