📄 atr_main.cpp
字号:
// Zinc Application Framework - MAINTEST.CPP
// COPYRIGHT (C) 1990-1997. All Rights Reserved.
// Zinc Software Incorporated. Pleasant Grove, Utah USA
#include "atr_main.hpp"
#include <z_prst.hpp>
// This table contains the list of all events that can be received by an
// object. EventLog.count gets updated by GenericTestWin::LogEvent().
// This list is displayed when the tester selects the "Event Log" button.
ListEntry ZAF_FARDATA GenericTestWin::EventLog[] =
{
{ ZAF_ITEXT("S_ERROR"), 0, S_ERROR},
{ ZAF_ITEXT("S_UNKNOWN"), 0, S_UNKNOWN},
{ ZAF_ITEXT("S_NO_OBJECT"), 0, S_NO_OBJECT},
{ ZAF_ITEXT("S_MINIMIZE"), 0, S_MINIMIZE},
{ ZAF_ITEXT("S_MAXIMIZE"), 0, S_MAXIMIZE},
{ ZAF_ITEXT("S_CONTINUE"), 0, S_CONTINUE},
{ ZAF_ITEXT("S_INITIALIZE"), 0, S_INITIALIZE},
{ ZAF_ITEXT("S_CREATE"), 0, S_CREATE},
{ ZAF_ITEXT("S_CLOSE"), 0, S_CLOSE},
{ ZAF_ITEXT("S_NON_CURRENT"), 0, S_NON_CURRENT},
{ ZAF_ITEXT("S_REDISPLAY_DATA"), 0, S_REDISPLAY_DATA},
{ ZAF_ITEXT("S_REDISPLAY"), 0, S_REDISPLAY},
{ ZAF_ITEXT("S_CLOSE_TEMPORARY"), 0, S_CLOSE_TEMPORARY},
{ ZAF_ITEXT("S_DEINITIALIZE"), 0, S_DEINITIALIZE},
{ ZAF_ITEXT("S_RESTORE"), 0, S_RESTORE},
{ ZAF_ITEXT("S_REGISTER_OBJECT"), 0, S_REGISTER_OBJECT},
{ ZAF_ITEXT("S_DESTROY"), 0, S_DESTROY},
{ ZAF_ITEXT("S_REDISPLAY_REGION"), 0, S_REDISPLAY_REGION},
{ ZAF_ITEXT("S_HOT_KEY"), 0, S_HOT_KEY},
{ ZAF_ITEXT("S_SIZE"), 0, S_SIZE},
{ ZAF_ITEXT("S_COMPUTE_SIZE"), 0, S_COMPUTE_SIZE},
{ ZAF_ITEXT("S_CURRENT"), 0, S_CURRENT},
{ ZAF_ITEXT("S_VSCROLL"), 0, S_VSCROLL},
{ ZAF_ITEXT("S_HSCROLL"), 0, S_HSCROLL},
{ ZAF_ITEXT("S_VSCROLL_SET"), 0, S_VSCROLL_SET},
{ ZAF_ITEXT("S_HSCROLL_SET"), 0, S_HSCROLL_SET},
{ ZAF_ITEXT("S_VSCROLL_CHECK"), 0, S_VSCROLL_CHECK},
{ ZAF_ITEXT("S_HSCROLL_CHECK"), 0, S_HSCROLL_CHECK},
{ ZAF_ITEXT("S_VSCROLL_COMPUTE"), 0, S_VSCROLL_COMPUTE},
{ ZAF_ITEXT("S_HSCROLL_COMPUTE"), 0, S_HSCROLL_COMPUTE},
{ ZAF_ITEXT("S_ADD_OBJECT"), 0, S_ADD_OBJECT},
{ ZAF_ITEXT("S_SUBTRACT_OBJECT"), 0, S_SUBTRACT_OBJECT},
{ ZAF_ITEXT("S_DRAG_MOVE"), 0, S_DRAG_MOVE},
{ ZAF_ITEXT("S_DRAG_COPY"), 0, S_DRAG_COPY},
{ ZAF_ITEXT("S_DRAG_LINK"), 0, S_DRAG_LINK},
{ ZAF_ITEXT("S_DROP_LINK"), 0, S_DROP_LINK},
{ ZAF_ITEXT("S_DRAG_DEFAULT"), 0, S_DRAG_DEFAULT},
{ ZAF_ITEXT("S_DROP_DEFAULT"), 0, S_DROP_DEFAULT},
{ ZAF_ITEXT("S_COPY_DATA"), 0, S_COPY_DATA},
{ ZAF_ITEXT("S_SET_DATA"), 0, S_SET_DATA},
{ ZAF_ITEXT("S_MDI_CASCADE_WINDOWS"),0, S_MDI_CASCADE_WINDOWS},
{ ZAF_ITEXT("S_MDI_CLOSE"), 0, S_MDI_CLOSE},
{ ZAF_ITEXT("S_MDI_MAXIMIZE"), 0, S_MDI_MAXIMIZE},
{ ZAF_ITEXT("S_MDI_MINIMIZE"), 0, S_MDI_MINIMIZE},
{ ZAF_ITEXT("S_MDI_RESTORE"), 0, S_MDI_RESTORE},
{ ZAF_ITEXT("S_MDI_TILE_WINDOWS"), 0, S_MDI_TILE_WINDOWS},
{ ZAF_ITEXT("N_CLOSE"), 0, N_CLOSE},
{ ZAF_ITEXT("N_EXIT"), 0, N_EXIT},
{ ZAF_ITEXT("N_CURRENT"), 0, N_CURRENT},
{ ZAF_ITEXT("N_NON_CURRENT"), 0, N_NON_CURRENT},
{ ZAF_ITEXT("N_SIZE"), 0, N_SIZE},
{ ZAF_ITEXT("N_MOVE"), 0, N_MOVE},
{ ZAF_ITEXT("N_VSCROLL"), 0, N_VSCROLL},
{ ZAF_ITEXT("N_HSCROLL"), 0, N_HSCROLL},
{ ZAF_ITEXT("N_CHANGE_PAGE"), 0, N_CHANGE_PAGE},
{ ZAF_ITEXT("L_ALT_KEY"), 0, L_ALT_KEY},
{ ZAF_ITEXT("L_EXIT"), 0, L_EXIT},
{ ZAF_ITEXT("L_VIEW"), 0, L_VIEW},
{ ZAF_ITEXT("L_SELECT"), 0, L_SELECT},
{ ZAF_ITEXT("L_BEGIN_SELECT"), 0, L_BEGIN_SELECT},
{ ZAF_ITEXT("L_CONTINUE_SELECT"), 0, L_CONTINUE_SELECT},
{ ZAF_ITEXT("L_END_SELECT"), 0, L_END_SELECT},
{ ZAF_ITEXT("L_BEGIN_ESCAPE"), 0, L_BEGIN_ESCAPE},
{ ZAF_ITEXT("L_CONTINUE_ESCAPE"), 0, L_CONTINUE_ESCAPE},
{ ZAF_ITEXT("L_END_ESCAPE"), 0, L_END_ESCAPE},
{ ZAF_ITEXT("L_HELP"), 0, L_HELP},
{ ZAF_ITEXT("L_CANCEL"), 0, L_CANCEL},
{ ZAF_ITEXT("L_DOUBLE_CLICK"), 0, L_DOUBLE_CLICK},
{ ZAF_ITEXT("L_MOVE_MODE"), 0, L_MOVE_MODE},
{ ZAF_ITEXT("L_SIZE_MODE"), 0, L_SIZE_MODE},
{ ZAF_ITEXT("L_RESTORE"), 0, L_RESTORE},
{ ZAF_ITEXT("L_MINIMIZE"), 0, L_MINIMIZE},
{ ZAF_ITEXT("L_MAXIMIZE"), 0, L_MAXIMIZE},
{ ZAF_ITEXT("L_SYSTEM_MENU"), 0, L_SYSTEM_MENU},
{ ZAF_ITEXT("L_NEXT_WINDOW"), 0, L_NEXT_WINDOW},
{ ZAF_ITEXT("L_UP"), 0, L_UP},
{ ZAF_ITEXT("L_DOWN"), 0, L_DOWN},
{ ZAF_ITEXT("L_LEFT"), 0, L_LEFT},
{ ZAF_ITEXT("L_RIGHT"), 0, L_RIGHT},
{ ZAF_ITEXT("L_PREVIOUS"), 0, L_PREVIOUS},
{ ZAF_ITEXT("L_NEXT"), 0, L_NEXT},
{ ZAF_ITEXT("L_FIRST"), 0, L_FIRST},
{ ZAF_ITEXT("L_LAST"), 0, L_LAST},
{ ZAF_ITEXT("L_PGUP"), 0, L_PGUP},
{ ZAF_ITEXT("L_PGDN"), 0, L_PGDN},
{ ZAF_ITEXT("L_EXTEND_PREVIOUS"), 0, L_EXTEND_PREVIOUS},
{ ZAF_ITEXT("L_EXTEND_NEXT"), 0, L_EXTEND_NEXT},
{ ZAF_ITEXT("L_EXTEND_FIRST"), 0, L_EXTEND_FIRST},
{ ZAF_ITEXT("L_EXTEND_LAST"), 0, L_EXTEND_LAST},
{ ZAF_ITEXT("L_CUT"), 0, L_CUT},
{ ZAF_ITEXT("L_PASTE"), 0, L_PASTE},
{ ZAF_ITEXT("L_DELETE"), 0, L_DELETE},
{ ZAF_ITEXT("L_DELETE_WORD"), 0, L_DELETE_WORD},
{ ZAF_ITEXT("L_DELETE_EOL"), 0, L_DELETE_EOL},
{ ZAF_ITEXT("L_INSERT_TOGGLE"), 0, L_INSERT_TOGGLE},
{ ZAF_ITEXT("L_WORD_LEFT"), 0, L_WORD_LEFT},
{ ZAF_ITEXT("L_WORD_RIGHT"), 0, L_WORD_RIGHT},
{ ZAF_ITEXT("L_BOL"), 0, L_BOL},
{ ZAF_ITEXT("L_EOL"), 0, L_EOL},
{ ZAF_ITEXT("L_BACKSPACE"), 0, L_BACKSPACE},
{ ZAF_ITEXT("L_COPY"), 0, L_COPY},
{ ZAF_ITEXT("L_MARK_LEFT"), 0, L_MARK_LEFT},
{ ZAF_ITEXT("L_MARK_RIGHT"), 0, L_MARK_RIGHT},
{ ZAF_ITEXT("L_MARK_UP"), 0, L_MARK_UP},
{ ZAF_ITEXT("L_MARK_DOWN"), 0, L_MARK_DOWN},
{ ZAF_ITEXT("L_MARK_BOL"), 0, L_MARK_BOL},
{ ZAF_ITEXT("L_MARK_EOL"), 0, L_MARK_EOL},
{ ZAF_ITEXT("L_MARK_PGUP"), 0, L_MARK_PGUP},
{ ZAF_ITEXT("L_MARK_PGDN"), 0, L_MARK_PGDN},
{ ZAF_ITEXT("L_MARK_WORD_RIGHT"), 0, L_MARK_WORD_RIGHT},
{ ZAF_ITEXT("L_MARK_WORD_LEFT"), 0, L_MARK_WORD_LEFT},
{ ZAF_ITEXT("S_DECREMENT"), 0, S_DECREMENT},
{ ZAF_ITEXT("S_INCREMENT"), 0, S_INCREMENT},
{ ZAF_ITEXT("L_MDI_NEXT_WINDOW"), 0, L_MDI_NEXT_WINDOW},
{ ZAF_ITEXT("L_MDI_MOVE_MODE"), 0, L_MDI_MOVE_MODE},
{ ZAF_ITEXT("L_MDI_SIZE_MODE"), 0, L_MDI_SIZE_MODE},
{ ZAF_ITEXT("L_NONE"), 0, L_NONE},
{ ZAF_ITEXT("A_OPEN_DOCUMENT"), 0, A_OPEN_DOCUMENT},
{ ZAF_ITEXT("A_PRINT_DOCUMENT"), 0, A_PRINT_DOCUMENT},
{ ZAF_ITEXT("A_OPEN_WINDOW"), 0, A_OPEN_WINDOW},
{ ZAF_ITEXT("A_CLOSE_WINDOW"), 0, A_CLOSE_WINDOW},
{ ZAF_ITEXT("A_RESET_I18N"), 0, A_RESET_I18N},
{ ZAF_ITEXT("A_MINIMIZE_WINDOWS"), 0, A_MINIMIZE_WINDOWS},
{ ZAF_ITEXT("A_RESTORE_WINDOWS"), 0, A_RESTORE_WINDOWS},
{ ZAF_NULLP(ZafIChar), 0, 0 }
};
ZafHelpTips *helpTip = 0;
GenericTestWin::GenericTestWin(int left, int top, int width, int height) :
ZafWindow(left, top, width, height),
attrList(0), testObject(0), testObjectParent(0), testObjectSibling(0)
{
SetSelectionType(ZAF_MULTIPLE_SELECTION);
SetOSDraw(false);
SetStringID(ZAF_ITEXT("TEST_WINDOW"));
Add(new ZafBorder);
Add(new ZafMaximizeButton);
Add(new ZafMinimizeButton);
Add(new ZafSystemButton);
Add(new ZafTitle(new ZafStringData("")));
ZafStatusBar *helpBar = new ZafStatusBar(0, 0, 0, 1);
helpBar->SetStringID(ZAF_ITEXT("STATUS_BAR"));
ZafString *helpBarString = new ZafString(0, 0, 32, new ZafStringData("", 64));
helpBarString->SetBordered(true);
helpBar->Add(helpBarString);
Add(helpBar);
helpTip->SetHelpObject(helpBarString);
Add(new ZafPrompt(20, 0, 25, new ZafStringData("Settings")));
// Create attribute list.
attrList = new ZafVtList(1, 1, 25, 7);
attrList->SetStringID(ZAF_ITEXT("ATTR_LIST"));
attrList->Add(new ZafScrollBar(0, 0, 0, 0, ZAF_NULLP(ZafScrollData)));
attrList->SetSelectionType(ZAF_MULTIPLE_SELECTION);
attrList->SetAutoSortData(true);
attrList->SetOSDraw(false);
// Add attribute check boxes to list.
int count = 0;
ZafIChar buf[64];
ZafButton *attr = ZAF_NULLP(ZafButton);
for (count = 0; AttributeTable[count].text; count++)
{
sprintf(buf, ZAF_ITEXT("%s %d"), AttributeTable[count].text, AttributeTable[count].count);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData(buf));
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetButtonType(ZAF_CHECK_BOX);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(AttributeTable[count].value);
attr->SetNumberID((ZafNumberID)AttributeTable[count].value);
attrList->Add(attr);
}
Add(attrList);
// Create tool tip combo box.
ZafComboBox *toolTipCombo = new ZafComboBox(27, 3, 20, 3);
toolTipCombo->SetViewOnly(true);
toolTipCombo->SetStringID(ZAF_ITEXT("TOOL_TIP_COMBO"));
toolTipCombo->Add(new ZafScrollBar(0, 0, 0, 0, ZAF_NULLP(ZafScrollData)));
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("(no help tip) *"));
attr->SetStringID(ZAF_ITEXT("None"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_TOOL_TIP);
toolTipCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Single line help tip*"));
attr->SetStringID(ZAF_ITEXT("Single"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_TOOL_TIP);
toolTipCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Multi-line help tip *"));
attr->SetStringID(ZAF_ITEXT("Multi"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_TOOL_TIP);
toolTipCombo->Add(attr);
Add(toolTipCombo);
// Create help context combo box.
ZafComboBox *helpContextCombo = new ZafComboBox(27, 4, 20, 3);
helpContextCombo->SetViewOnly(true);
helpContextCombo->SetStringID(ZAF_ITEXT("HELP_CONTEXT_COMBO"));
helpContextCombo->Add(new ZafScrollBar(0, 0, 0, 0, ZAF_NULLP(ZafScrollData)));
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("(none) *"));
attr->SetStringID(ZAF_ITEXT("HELP_CONTEXT_NONE"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_HELP_CONTEXT);
helpContextCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Help 1 *"));
attr->SetStringID(ZAF_ITEXT("HELP_CONTEXT_1"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_HELP_CONTEXT);
helpContextCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Help 2 *"));
attr->SetStringID(ZAF_ITEXT("HELP_CONTEXT_2"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_HELP_CONTEXT);
helpContextCombo->Add(attr);
Add(helpContextCombo);
// Create text color combo box.
Add(new ZafPrompt(27, 5, 9, new ZafStringData("Text:**")));
ZafComboBox *textColorCombo = new ZafComboBox(37, 5, 10, 3);
textColorCombo->SetViewOnly(true);
textColorCombo->SetStringID(ZAF_ITEXT("TEXT_COLOR_COMBO"));
textColorCombo->Add(new ZafScrollBar(0, 0, 0, 0, ZAF_NULLP(ZafScrollData)));
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Default"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_TEXT_DEFAULT);
attr->SetSelected(true);
textColorCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Black"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_TEXT_BLACK);
textColorCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Red"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_TEXT_RED);
textColorCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Yellow"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_TEXT_YELLOW);
textColorCombo->Add(attr);
//Add(textColorCombo);
// Create background color combo box.
Add(new ZafPrompt(27, 6, 9, new ZafStringData("Backgr:**")));
ZafComboBox *backgroundColorCombo = new ZafComboBox(37, 6, 10, 3);
backgroundColorCombo->SetViewOnly(true);
backgroundColorCombo->SetStringID(ZAF_ITEXT("BACK_COLOR_COMBO"));
backgroundColorCombo->Add(new ZafScrollBar(0, 0, 0, 0, ZAF_NULLP(ZafScrollData)));
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Default"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_BACK_DEFAULT);
attr->SetSelected(true);
backgroundColorCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Light Gray"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_BACK_LIGHTGRAY);
backgroundColorCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Red"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_BACK_RED);
backgroundColorCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Yellow"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_BACK_YELLOW);
backgroundColorCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("White"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_BACK_WHITE);
backgroundColorCombo->Add(attr);
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Light Blue"));
attr->SetButtonType(ZAF_FLAT_BUTTON);
attr->SetHzJustify(ZAF_HZ_LEFT);
attr->SetSendMessageWhenSelected(true);
attr->SetValue(TST_SET_BACK_LIGHTBLUE);
backgroundColorCombo->Add(attr);
Add(backgroundColorCombo);
// Create font combo box.
Add(new ZafPrompt(27, 7, 9, new ZafStringData("Font:**")));
ZafComboBox *fontCombo = new ZafComboBox(37, 7, 10, 3);
fontCombo->SetViewOnly(true);
fontCombo->SetStringID(ZAF_ITEXT("FONT_COMBO"));
fontCombo->Add(new ZafScrollBar(0, 0, 0, 0, ZAF_NULLP(ZafScrollData)));
attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Small"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -