okbuttondemo.pro

来自「Visual Prolog 7.1的一些学习资料,希望对您有用」· PRO 代码 · 共 81 行

PRO
81
字号
/*****************************************************************************

                        Copyright (c) Prolog Development Center A/S

******************************************************************************/

implement okButtonDemo
    inherits dialog
    open core, vpiDomains, resourceIdentifiers

constants
    className = "okButtonDemo/okButtonDemo".
    classVersion = "".

clauses
    classInfo(className, classVersion).

clauses
    new(Parent) :-
        dialog::new(Parent),
        generatedInitialize().

predicates
    onOk : button::clickResponder.
clauses
    onOk(_Source) = button::defaultAction() :-
%        0 = vpiCommonDialogs::ask(
%            "This is Ok button click responder. Perform default action (this will close the dialog)?",
%            ["&Yes", "&No"]),
           1 = vpiCommonDialogs::messageBox("Ok button",
               "This is Ok button click responder. Perform default action (this will close the dialog)?",
               vpiDomains::mesbox_iconQuestion, vpiDomains::mesbox_buttonsYesNo,
               vpiDomains::mesbox_defaultFirst, vpiDomains::mesbox_suspendApplication),
        !.
    onOk(_) = button::noAction.

predicates
    onCancel : button::clickResponder.
clauses
    onCancel(_Source) = button::defaultAction() :-
%        0 = vpiCommonDialogs::ask(
%            "This is Cancel button click responder. Perform default action (this will close the dialog)?",
%            ["&Yes", "&No"]),
       1 = vpiCommonDialogs::messageBox("Cancel button",
            "This is Cancel button click responder. Perform default action (this will close the dialog)?",
             vpiDomains::mesbox_iconQuestion, vpiDomains::mesbox_buttonsYesNo,
             vpiDomains::mesbox_defaultFirst, vpiDomains::mesbox_suspendApplication),
        !.
    onCancel(_) = button::noAction.

% This code is maintained by the VDE do not update it manually, 12:56:02-5.11.2004
facts
    ok_ctl : button.
    cancel_ctl : button.

predicates
    generatedInitialize : ().
clauses
    generatedInitialize():-
        setFont(vpi::fontCreateByName("MS Sans Serif", 8)),
        setText("Ok Button Demo"),
        setRect(rct(50,40,197,148)),
        setModal(true),
        setDecoration(titlebar([closebutton()])),
        ok_ctl := button::newOk(This),
        ok_ctl:setText("&OK"),
        ok_ctl:setPosition(16, 84),
        setDefaultButton(ok_ctl),
        cancel_ctl := button::newCancel(This),
        cancel_ctl:setText("Cancel"),
        cancel_ctl:setPosition(80, 84),
        StaticText_ctl = textControl::new(This),
        StaticText_ctl:setText("Try to close the dialog by Ok or Cancel button"),
        StaticText_ctl:setPosition(16, 14),
        StaticText_ctl:setSize(112, 40),
        StaticText_ctl:setAlignBaseline(false),
        ok_ctl:setClickResponder(onOk),
        cancel_ctl:setClickResponder(onCancel).
% end of automatic code
end implement okButtonDemo

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?