2

IUP.GetParm ダイアログを使用して、検索と置換のプロンプトを表示しています。ダイアログは 3 つのボタンをサポートしています。最初の 2 つの [OK] と [キャンセル] は、プロンプトを閉じてメイン プログラム フローに戻ります。

3 番目のボタンは parm_action 関数で追跡できます。私がやりたいことは、3 番目のボタンを使用して項目をスキップし、ダイアログを閉じることですが、これが可能かどうかはわかりません。

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

現在この機能を有効にするには、[スキップ] ボタンを押してから [OK] ボタンを押す必要があります。

4

1 に答える 1

0

IUPメーリングリストからの回答をここに再投稿するだけです:

コールバック内で、3 番目のボタンが押されたときに、ダイアログ属性 "status" を "1" に設定し、関数 iup.ExitLoop() を呼び出します。

于 2012-12-17T17:36:15.160 に答える