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;

      

  • 相关阅读:
    HDU 1106 排序
    strtok函数()
    HDU 2187汶川地震
    HDU 1716 排列2
    Rightmost Digit
    Text Reverse
    快速幂
    插入排序的一个应用-调整负数在前,正数在后,原来相对位置不变
    cuda 5.0配置vs2008+Visual Assist X +安装问题解决
    vc 热键、组合键的用法
  • 原文地址:https://www.cnblogs.com/fengxb/p/3273312.html
Copyright © 2011-2022 走看看