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;

      

  • 相关阅读:
    理解MySQL——索引与优化
    ArrayList vs LinkedList vs Vector
    Java集合框架的接口和类层次关系结构图
    Java集合的10个最常见问题
    Mysql 中的事件//定时任务
    Mysql中的函数
    Mysql中的触发器
    Mysql中的存储过程
    Oracle数据库表的一些宏处理
    Oracle查询和过滤重复数据
  • 原文地址:https://www.cnblogs.com/fengxb/p/3273312.html
Copyright © 2011-2022 走看看