⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultbuttondemo.pro

📁 Visual Prolog 7.1的一些学习资料,希望对您有用
💻 PRO
字号:
/*****************************************************************************

                        Copyright (c) Prolog Development Center A/S

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

implement defaultButtonDemo
    inherits dialog
    open core, vpiDomains, resourceIdentifiers, stdio

constants
    className = "DefaultButtonDemo/defaultButtonDemo".
    classVersion = "".

clauses
    classInfo(className, classVersion).

clauses
    new(Parent) :-
        dialog::new(Parent),
        generatedInitialize(),
        listBox_ctl:addList([
            "Button #1",
            "Button #2",
            "Button #3",
            "Another Button #1",
            "Another Button #2",
            "One More Button #1",
            "One More Button #2"]),
        listBox_ctl:selectAt(0, true).

predicates
    onListBoxSelectionChanged : listControl::selectionChangedListener.
clauses
    onListBoxSelectionChanged(LB) :-
        NewDefaultButton = index_defaultButton(LB:tryGetSelectedIndex()),
        !,
        writef("Setting <%s> as the default button in the dialog\n", NewDefaultButton:getText()),
        setDefaultButton(NewDefaultButton).
    onListBoxSelectionChanged(_).

predicates
    index_defaultButton : (integer Index) -> button Button determ.
clauses
    index_defaultButton(0) = button1_ctl.
    index_defaultButton(1) = button2_ctl.
    index_defaultButton(2) = button3_ctl.
    index_defaultButton(3) = anotherButton1_ctl.
    index_defaultButton(4) = anotherButton2_ctl.
    index_defaultButton(5) = oneMoreButton1_ctl.
    index_defaultButton(6) = oneMoreButton2_ctl.

predicates
    onButton1 : button::clickResponder.
clauses
    onButton1(Source) = button::defaultAction() :-
        writef("I am %s click responder. Button caption = %s\n", predicate_name(), Source:getText()).

predicates
    onButton2 : button::clickResponder.
clauses
    onButton2(Source) = button::defaultAction() :-
        writef("I am %s click responder. Button caption = %s\n", predicate_name(), Source:getText()).

predicates
    onButton3 : button::clickResponder.
clauses
    onButton3(Source) = button::defaultAction() :-
        writef("I am %s click responder. Button caption = %s\n", predicate_name(), Source:getText()).

predicates
    onAnotherButton1 : button::clickResponder.
clauses
    onAnotherButton1(Source) = button::defaultAction() :-
        writef("I am %s click responder. Button caption = %s\n", predicate_name(), Source:getText()).

predicates
    onAnotherButton2 : button::clickResponder.
clauses
    onAnotherButton2(Source) = button::defaultAction() :-
        writef("I am %s click responder. Button caption = %s\n", predicate_name(), Source:getText()).

predicates
    onOneMoreButton1 : button::clickResponder.
clauses
    onOneMoreButton1(Source) = button::defaultAction() :-
        writef("I am %s click responder. Button caption = %s\n", predicate_name(), Source:getText()).

predicates
    onOneMoreButton2 : button::clickResponder.
clauses
    onOneMoreButton2(Source) = button::defaultAction() :-
        writef("I am %s click responder. Button caption = %s\n", predicate_name(), Source:getText()).

% This code is maintained by the VDE do not update it manually, 19:52:25-21.10.2004
facts
    close_ctl : button.
    listBox_ctl : listBox.
    button1_ctl : button.
    button2_ctl : button.
    button3_ctl : button.
    anotherButton1_ctl : button.
    anotherButton2_ctl : button.
    edit1_ctl : editControl.
    oneMoreButton1_ctl : button.
    oneMoreButton2_ctl : button.
    edit_ctl : editControl.
    edit2_ctl : editControl.

predicates
    generatedInitialize : ().
clauses
    generatedInitialize():-
        setFont(vpi::fontCreateByName("MS Sans Serif", 8)),
        setText("Default Button Demo"),
        setRect(rct(50,40,334,271)),
        setModal(true),
        setDecoration(titlebar([closebutton()])),
        close_ctl := button::newCancel(This),
        close_ctl:setText("&Close"),
        close_ctl:setPosition(228, 208),
        listBox_ctl := listBox::new(This),
        listBox_ctl:setPosition(8, 8),
        listBox_ctl:setSize(72, 188),
        listBox_ctl:setSort(false),
        button1_ctl := button::new(This),
        button1_ctl:setText("Button #1"),
        button1_ctl:setPosition(88, 64),
        setDefaultButton(button1_ctl),
        button2_ctl := button::new(This),
        button2_ctl:setText("Button #2"),
        button2_ctl:setPosition(144, 64),
        button3_ctl := button::new(This),
        button3_ctl:setText("Button #3"),
        button3_ctl:setPosition(200, 64),
        Container_ctl = groupBox::new(This),
        Container_ctl:setText("Container"),
        Container_ctl:setPosition(88, 84),
        Container_ctl:setSize(188, 112),
        Container_ctl:setBorderStyle(groupbox::simpleBorder()),
        anotherButton1_ctl := button::new(Container_ctl),
        anotherButton1_ctl:setText("Another Button #1"),
        anotherButton1_ctl:setPosition(4, 20),
        anotherButton1_ctl:setSize(61, 12),
        anotherButton2_ctl := button::new(Container_ctl),
        anotherButton2_ctl:setText("Another Button #2"),
        anotherButton2_ctl:setPosition(72, 20),
        anotherButton2_ctl:setSize(61, 12),
        NestedContainer_ctl = groupBox::new(Container_ctl),
        NestedContainer_ctl:setText("Nested Container"),
        NestedContainer_ctl:setPosition(4, 40),
        NestedContainer_ctl:setSize(172, 56),
        NestedContainer_ctl:setBorderStyle(groupbox::simpleBorder()),
        edit1_ctl := editControl::new(NestedContainer_ctl),
        edit1_ctl:setText(""),
        edit1_ctl:setPosition(8, 4),
        oneMoreButton1_ctl := button::new(NestedContainer_ctl),
        oneMoreButton1_ctl:setText("One More Button #1"),
        oneMoreButton1_ctl:setPosition(8, 24),
        oneMoreButton1_ctl:setSize(68, 12),
        oneMoreButton2_ctl := button::new(NestedContainer_ctl),
        oneMoreButton2_ctl:setText("One More Button #2"),
        oneMoreButton2_ctl:setPosition(80, 24),
        oneMoreButton2_ctl:setSize(68, 12),
        edit_ctl := editControl::new(Container_ctl),
        edit_ctl:setText(""),
        edit_ctl:setPosition(4, 4),
        edit2_ctl := editControl::new(This),
        edit2_ctl:setText(""),
        edit2_ctl:setPosition(88, 48),
        Description = textControl::new(This),
        Description:setText("Please select the button to be default for the dialog from the listbox. You can inspect which button is currently default by pressing <Enter> when staying on any of the edit controls"),
        Description:setPosition(84, 8),
        Description:setSize(196, 36),
        Description:setAlignBaseline(false),
        listBox_ctl:addSelectionChangedListener(onListBoxSelectionChanged),
        button1_ctl:setClickResponder(onButton1),
        button2_ctl:setClickResponder(onButton2),
        button3_ctl:setClickResponder(onButton3),
        anotherButton1_ctl:setClickResponder(onAnotherButton1),
        anotherButton2_ctl:setClickResponder(onAnotherButton2),
        oneMoreButton1_ctl:setClickResponder(onOneMoreButton1),
        oneMoreButton2_ctl:setClickResponder(onOneMoreButton2).
% end of automatic code
end implement defaultButtonDemo

⌨️ 快捷键说明

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