zoukankan      html  css  js  c++  java
  • Demo学习: Dialogs Anonymous Callback

    DialogsDialogs Anonymous Callback

    窗体回调函数使用.

    1. 标准回调函数

    ShowMessage(const Msg: string; CallBack: TUniDialogCallBackProc = nil)

    procedure TMainForm.UniButton2Click(Sender: TObject);
    begin
      ShowMessage('Message-2', CallBack1);
    end;
    //定义回调函数
    procedure TMainForm.CallBack1(Res: Integer); begin //OK返回1, 取消返回2; UniMemo1.Lines.Add('Result-1: '+IntToStr(Res)); end;

    2. MessageDlg(const Msg:string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; CallBack:TUniDialogCallBackProc)

    procedure TMainForm.UniButton7Click(Sender: TObject);
    begin
      MessageDlg('mbYesNo', mtConfirmation, mbYesNo, DCallBack4);
    end;
    procedure TMainForm.DCallBack4(Res: Integer);
    begin
      case Res of
        mrYes : UniMemo1.Lines.Add('DResult: YES');
        mrNo : UniMemo1.Lines.Add('DResult: NO');
        mrOK : UniMemo1.Lines.Add('DResult: OK');
        mrCancel : UniMemo1.Lines.Add('DResult: CANCEL');
      end;
    end;

    2. 匿名回调函数

    这种写法适合代码量少的,多了就比较乱,还是标准的看着习惯。

    procedure TMainForm.UniButton6Click(Sender: TObject);
    begin
      MessageDlg('Dialog3', mtConfirmation, mbYesNo,
        procedure(Res: Integer)
        begin
          case Res of
            mrYes :
              MessageDlg('Dialog4', mtConfirmation, mbYesNo,
                procedure(Res: Integer)
                begin
                  case Res of
                    mrYes : UniMemo1.Lines.Add('DResult: YES');
                    mrNo : UniMemo1.Lines.Add('DResult: NO');
                  end;
                end
              );
            mrNo : UniMemo1.Lines.Add('DResult: NO');
          end;
        end
      );
    end;

      

  • 相关阅读:
    UOJ222 【NOI2016】区间
    BZOJ3631 [JLOI2014]松鼠的新家
    BZOJ 1001 [BeiJing2006]狼抓兔子
    poj2488 A Knight's Journey裸dfs
    hdu 4289 网络流拆点,类似最小割(可做模板)邻接矩阵实现
    hdu 4183 EK最大流算法
    HDU 4180 扩展欧几里得
    HDU 4178 模拟
    HDU 4177 模拟时间问题
    hdu 4185 二分图最大匹配
  • 原文地址:https://www.cnblogs.com/fengxb/p/3273312.html
Copyright © 2011-2022 走看看