Запуск OK от обратного звонка на GetParm - PullRequest
2 голосов
/ 26 июля 2011

Я использую диалог IUP.GetParm для поиска и замены.Диалог поддерживает 3 кнопки, первые две кнопки «ОК» и «Отмена» закрывают приглашение и возвращаются к основному потоку программы.

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

Я спрашивал об этом в списке рассылки IUP, но еще не получил ответ.

function param_action(dialog,index)
   if index == -4 then
    bSkip = true
    return 1
   end
end
    bSkip = false
    bConfirm,strFromString,strToString,bSkip = 
    iup.GetParam("Search and Replace", 
    param_action,
    fhGetTag(ptrRecord)..'-'..fhGetTag(ptr)..
    ' '..fhGetDisplayText(ptrRecord).." %t\n"..
    "Replace: "..strBoxType.."\n"..
    "With: "..strBoxType.."\n"..
    "btn: %u[Ok,Cancel,Skip] \n"
    , strFromString,strToString)
    if bConfirm  and not(bSkip) then
       --  replace string
    end

Чтобы сделать эту функцию в настоящее время, вы должны нажать кнопку Пропустить, а затем кнопку ОК.

1 Ответ

0 голосов
/ 17 декабря 2012

Просто повторно отправьте ответ из списка рассылки IUP здесь:

Внутри обратного вызова, когда 3-я кнопка нажата, установите атрибут диалога «status» в «1» ивызовите функцию iup.ExitLoop ().

...