View Issue Details

IDProjectCategoryView StatusLast Update
0002647Far ManagerPlugins API.Dialogpublic2014-04-15 13:21
ReportershmuelAssigned Tovskirdin 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86OSWindowsOS VersionXP SP3
Product Version3.0 
Target Version3.0Fixed in Version3.0 
Summary0002647: DM_SETFOCUS работает неправильно в присутствии элемента с DIF_NOFOCUS
DescriptionDM_SETFOCUS работает неправильно в присутствии элемента с DIF_NOFOCUS.
Демонстрируется следующим скриптом:

local F = far.Flags
local items = {
  {"DI_EDIT", 2,1,32,1, 0,0,0, 0, ""},
  {"DI_BUTTON", 34,1, 0,1, 0,0,0, {DIF_BTNNOCLOSE=1,DIF_NOFOCUS=1}, "&2"},
  {"DI_EDIT", 2,3,32,3, 0,0,0, 0, ""},
}

local function DlgProc (hDlg, msg, param1, param2)
  if msg == F.DN_BTNCLICK then
    if param1==2 then
      far.SendDlgMessage(hDlg, "DM_SETFOCUS", 1)
    end
  end
end

far.Dialog ("",-1,-1,40,5,nil,items,0, DlgProc)
Steps To Reproduce1. Запустить скрипт. Должен появиться диалог.
2. Нажать Tab Alt2 A

Что мы видим: курсор находится в нижнем поле ввода, а символы вводятся в верхнее поле ввода.
TagsNo tags attached.
Build3866

Activities

shmuel

2014-04-14 00:01

developer   bugnote:0012204

Last edited: 2014-04-14 00:02

View 2 revisions

Да, если перед строчкой
> far.SendDlgMessage(hDlg, "DM_SETFOCUS", 1)
вставить строчку
> far.Message(far.SendDlgMessage(hDlg, "DM_GETFOCUS"))
то оказывается, что фокус в данный момент - на элементе 2, т.е. на кнопке, которая имеет флаг DIF_NOFOCUS.

shmuel

2014-04-14 14:57

developer   bugnote:0012210

Дополнительная информация:
Far 1.75.2634 - данной проблемы нет.
Far 2.0.1807 - проблема уже имеется.

vskirdin

2014-04-15 12:44

administrator   bugnote:0012211

build 3866

Issue History

Date Modified Username Field Change
2014-04-13 14:19 shmuel New Issue
2014-04-14 00:01 shmuel Note Added: 0012204
2014-04-14 00:02 shmuel Note Edited: 0012204 View Revisions
2014-04-14 14:57 shmuel Note Added: 0012210
2014-04-15 12:35 vskirdin Assigned To => vskirdin
2014-04-15 12:35 vskirdin Status new => assigned
2014-04-15 12:44 vskirdin Note Added: 0012211
2014-04-15 12:44 vskirdin Status assigned => feedback
2014-04-15 13:21 shmuel Build => 3866
2014-04-15 13:21 shmuel Status feedback => closed
2014-04-15 13:21 shmuel Resolution open => fixed
2014-04-15 13:21 shmuel Fixed in Version => 3.0