sampdef.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 504 行 · 第 1/2 页

C
504
字号
/****************************************************************************
*
*                            Open Watcom Project
*
*    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
*  ========================================================================
*
*    This file contains Original Code and/or Modifications of Original
*    Code as defined in and that are subject to the Sybase Open Watcom
*    Public License version 1.0 (the 'License'). You may not use this file
*    except in compliance with the License. BY USING THIS FILE YOU AGREE TO
*    ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
*    provided with the Original Code and Modifications, and is also
*    available at www.sybase.com/developer/opensource.
*
*    The Original Code and all software distributed under the License are
*    distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
*    EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
*    ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
*    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
*    NON-INFRINGEMENT. Please see the License for the specific language
*    governing rights and limitations under the License.
*
*  ========================================================================
*
* Description:  WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE
*               DESCRIBE IT HERE!
*
****************************************************************************/


#include "sample.h"
#include "dlgstat.h"
#include "samprc.h"

#if hot_spots
gui_resource HotSpots[NUM_HOT_SPOTS] = {
    { HOT1, "\x2\x3"      },
    { HOT2, "HOT"         },
    { HOT3, "\x4\x5\x6"   },
    { HOT4, "\x5"         },
    { HOT5, "HOTTER"      }
};
#endif

#if !default_colours

gui_colour_set BackgroundColours = {
    GUI_BLACK, GUI_BLACK   /* GUI_BACKGROUND_COLOUR */
};

gui_colour_set DialColours = {
    GUI_WHITE, GUI_BLUE     /* GUI_DIALOG_COLOUR     */
};

gui_colour_set DialFrameColours = {
    GUI_WHITE, GUI_BLUE     /* GUI_DIALOG_COLOUR     */
};
#endif

static gui_menu_struct MainSubMenu1[] = {
    { "&Static Dialog",         MENU_STATIC_DIALOG,  GUI_MENU_CHECKED,  "Create Static Dialog" },
    { "&Dynamic Dialog",        MENU_DYNAMIC_DIALOG, GUI_ENABLED,       "Create Dynamic Dialog" },
    { "&Test Dialog",           MENU_TEST_DIALOG,    GUI_ENABLED,       "Create Test Dialog" },
    { "&Resource Dialog",       MENU_RES_DIALOG,     GUI_ENABLED,       "Create Resource Dialog" },
    { "&GetNewVal\tdialog",     MENU_GETNEWVAL,      GUI_ENABLED,       NULL },
    { NULL,                     MENU_SEP_QUIT,       GUI_SEPARATOR,     NULL },
    { "&Quit",                  MENU_QUIT,           GUI_ENABLED,       "Quit", NUM_POPUP_MENUS, PopupMenu },
    { "&Quit",                  MENU_QUIT2,          GUI_ENABLED,       "Quit", NUM_POPUP_MENUS, PopupMenu },
    { "E&xit Sample",           MENU_EXIT,           GUI_ENABLED,       "Exit Sample Program" },
    { "Spawn &VI",              MENU_SPAWN,          GUI_ENABLED,       "Spawn WATCOM editor" }
};
#define NUM_MAIN_SUB_MENUS1 ( sizeof( MainSubMenu1 ) / sizeof( gui_menu_struct ) )

static gui_menu_struct MainSubMenu2[] = {
    { "Redra&w Menu\tlright",   MENU_REDRAW,            GUI_ENABLED,    "Redraw Menu" },
    { "&Resize Window\tright",  MENU_RESIZE,            GUI_GRAYED,     "Resize Window"         },
    { "&Show Window",           MENU_SHOW_WINDOW,       GUI_ENABLED,    "Show WIndow"   },
    { NULL,                     0,                      GUI_SEPARATOR,  NULL    },
    { "Re&place Colours",       MENU_REPLACE_COLOURS,   GUI_ENABLED,    "Replace Colours"       }
};
#define NUM_MAIN_SUB_MENUS2 ( sizeof( MainSubMenu2 ) / sizeof( gui_menu_struct ) )

static gui_menu_struct MainSubMenu3[] = {
    { "&Minimize",              MENU_MINIMIZE,  GUI_ENABLED,    "Minimize" },
    { "&Maximize",              MENU_MAXIMIZE,  GUI_ENABLED | GUI_IGNORE, "Maximize" },
    { NULL,                     0,              GUI_SEPARATOR, NULL },
    { "&Restore",               MENU_RESTORE,   GUI_ENABLED,    "Restore"   }
};
#define NUM_MAIN_SUB_MENUS3 ( sizeof( MainSubMenu3 ) / sizeof( gui_menu_struct ) )

static gui_menu_struct HelpSubMenu[] = {
    { "Help &Contents", MENU_HELP_CONTENTS,     GUI_ENABLED,    "Help Contents" },
    { "Help &On Help",  MENU_HELP_ON_HELP,      GUI_ENABLED,    "Help On Help" },
    { "Help &Search",   MENU_HELP_SEARCH,       GUI_ENABLED,    "Help Search"   },
    { "Help Conte&xt",  MENU_HELP_CONTEXT,      GUI_ENABLED,    "Help Context"   },
    { "Help &Key",      MENU_HELP_KEY,          GUI_ENABLED,    "Help Key"   }
};
#define NUM_HELP_SUB_MENUS ( sizeof( HelpSubMenu ) / sizeof( gui_menu_struct ) )

static gui_menu_struct MainSubMenu4[] = {
    { "Create Fi&xed ToolBar",          MENU_FIXED_TOOLBAR,     GUI_ENABLED, "Create Fixed Toolbar"   },
    { "Create &Floating ToolBar",       MENU_FLOATING_TOOLBAR,  GUI_ENABLED, "Create Floating Toolbar"},
    { NULL,                     0,              GUI_SEPARATOR, NULL },
    { "Fix/Float &ToolBar",             MENU_CHANGE_TOOLBAR,    GUI_GRAYED,  "Fix/Float Toolbar" },
    { "&Close ToolBar",                 MENU_CLOSE_TOOLBAR,     GUI_GRAYED,  "Close Toolbar"    }
};
#define NUM_MAIN_SUB_MENUS4 ( sizeof( MainSubMenu4 ) / sizeof( gui_menu_struct ) )

static gui_menu_struct MainSubMenu5[] = {
    { "&Status Window", MENU_STATUS_WND,        GUI_ENABLED, "Status Window"   },
    { "&Cascade",       MENU_CASCADE1,          GUI_ENABLED, "Cascade"   },
    { "&Help",          MENU_HELP,              GUI_ENABLED, "Help"   },
    { "&Switch Font",   MENU_SWITCH_FONT,       GUI_ENABLED, "Set Window 2 font same as Window 1 font" },
    { "&Resize Status", MENU_RESIZE_STATUS,     GUI_GRAYED,  "Set Status Window 2 lines high" },
    { "Flip Mouse On",  MENU_FLIP_MOUSE_ON,     GUI_ENABLED, "Flip Mouse On"    },
    { "Flip Mouse Off", MENU_FLIP_MOUSE_OFF,    GUI_ENABLED, "Flip Mouse Off"   },
    { "Set Menu",       MENU_SET_MENU,          GUI_ENABLED, "Change Menus"     },
    { "Test Resize",    MENU_TEST_RESIZE,       GUI_ENABLED, "Test GUISetRestoredSize" },
};
#define NUM_MAIN_SUB_MENUS5 ( sizeof( MainSubMenu5 ) / sizeof( gui_menu_struct ) )

gui_menu_struct PopupMenu[NUM_POPUP_MENUS] = {
    { "&Minize" ,          MENU_MINIMIZE,       GUI_ENABLED, "Minimize"  },
    { "Ma&ximize",         MENU_MAXIMIZE,       GUI_ENABLED, "Maximize"  },
    { NULL,                     0,              GUI_SEPARATOR, NULL },
    { "&Restore",          MENU_RESTORE,        GUI_ENABLED, "Restore"  },
    { "&Can't get me",     MENU_CANT_GET_ME,    GUI_GRAYED,  "Can't get me" },
    { "Me &either",        MENU_ME_EITHER,      GUI_GRAYED | GUI_IGNORE, "Me either"   },
    { "Re&size",           MENU_RESIZE,         GUI_ENABLED, "Resize" },
    { "Change Menu",       MENU_CHANGE,         GUI_ENABLED, "Change Menu" },
    { "Cascading Popup",   MENU_CASCADE,        GUI_ENABLED, "Cascading Popup", NUM_MAIN_SUB_MENUS4, MainSubMenu4  },
};

gui_menu_struct ModifyColour = {
"&Modify Colour",       MENU_MODIFY_COLOUR,     GUI_ENABLED,  "Modify Basic Colours"
};

gui_menu_struct ResetMenu = {
"Reset Menu",   MENU_RESET_MENU,        GUI_ENABLED, "Change Menus Back"
};
#define NUM_RESET_MENUS ( sizeof( ResetMenu ) / sizeof( gui_menu_struct ) )

gui_menu_struct NewMainMenu = {
    "&New Menu",        MENU_NEW,   GUI_ENABLED, "New Menu Items" , NUM_RESET_MENUS,    &ResetMenu
};

gui_menu_struct MenuMore = {
    "&This Is More",    MENU_THIS_IS_MORE,   GUI_ENABLED, "More Menu Items",
};

static gui_menu_struct ChildSubMenu[] = {
    { "&Bring Main To Front", MENU_BRING_MAIN_TO_FRONT, GUI_ENABLED, "Bring Main To Front" },
    { "Get &Client ",         MENU_GET_CLIENT,          GUI_ENABLED, "Call GUIGetClientRect" },
    { "Get &Rect",            MENU_GET_RECT,            GUI_ENABLED, "Call GUIGetRect" },
    { "Get &Absolute Rect",   MENU_GET_ABS_RECT,        GUI_ENABLED, "Call GUIGetAbsRect" },
    { "More",                 MENU_MORE,                GUI_ENABLED, "Cascading Menu" },
};
#define NUM_CHILD_SUB_MENUS ( sizeof( ChildSubMenu ) / sizeof( gui_menu_struct ) )

gui_menu_struct MainMenu[] = {
    { "&Dialogs",       MENU_DIALOGS,   GUI_ENABLED, "Dialogs", NUM_MAIN_SUB_MENUS1,    MainSubMenu1 },
    { "&Redraw",        MENU_DO_REDRAW, GUI_ENABLED, "Redraw",  NUM_MAIN_SUB_MENUS2,    MainSubMenu2 },
    { "&Size",          MENU_SIZE,      GUI_ENABLED, "Size",    NUM_MAIN_SUB_MENUS3,    MainSubMenu3 },
    { "&Toolbar",       MENU_TOOLBAR,   GUI_ENABLED, "Toolbar",  NUM_MAIN_SUB_MENUS4,   MainSubMenu4 },
#if mdi
    { "&Window",        MENU_WINDOW,    GUI_ENABLED | GUI_MDIWINDOW, "Window Actions", 0,       NULL },
#else
    { "&Window",        MENU_WINDOW,    GUI_ENABLED,  "Window Actions", 0,      NULL },
#endif
    { "&Other",         MENU_OTHER,     GUI_ENABLED,  "Other",  NUM_MAIN_SUB_MENUS5,    MainSubMenu5 },
    { "&Help",          MENU_HELP_PULLDOWN,     GUI_ENABLED,  "Help",   NUM_HELP_SUB_MENUS,     HelpSubMenu }
};

gui_menu_struct ChildMenu[] = {
    { "label &3", MENU_LABEL3, GUI_ENABLED, "label 3", NUM_CHILD_SUB_MENUS, ChildSubMenu }
};

#if !default_colours
static gui_colour_set ChildColours[GUI_NUM_ATTRS+1] = {
    /* Fore              Back        */
    GUI_BRIGHT_BLUE,  GUI_BRIGHT_WHITE,   /* GUI_MENU_PLAIN           */
    GUI_BRIGHT_WHITE, GUI_WHITE,          /* GUI_MENU_STANDOUT        */
    GUI_GREY,         GUI_WHITE,          /* GUI_MENU_GRAYED          */
    GUI_BRIGHT_CYAN,  GUI_BLACK,          /* GUI_MENU_ACTIVE          */
    GUI_BRIGHT_WHITE, GUI_BLACK,          /* GUI_MENU_ACTIVE_STANDOUT */
    GUI_WHITE,        GUI_BRIGHT_WHITE,   /* GUI_BACKGROUND           */
    GUI_BLUE,         GUI_WHITE,          /* GUI_MENU_FRAME           */
    GUI_GREY,         GUI_WHITE,          /* GUI_TITLE_INACTIVE       */
    GUI_WHITE,        GUI_BLUE,           /* GUI_FRAME_ACTIVE         */
    GUI_GREY,         GUI_WHITE,          /* GUI_FRAME_INACTIVE       */
    GUI_BRIGHT_WHITE, GUI_BLUE,           /* GUI_ICON                 */
    GUI_GREY,         GUI_BLACK,          /* GUI_MENU_GRAYED_ACTIVE   */
    GUI_GREY,         GUI_WHITE,          /* GUI_FRAME_RESIZE         */
    GUI_BRIGHT_CYAN,  GUI_CYAN            /* GUI_FIRST_UNUSED         */
};
#endif

#if !default_colours
static gui_colour_set DialogColours[GUI_NUM_ATTRS] = {
    /* Fore              Back        */
    GUI_BRIGHT_WHITE, GUI_BLUE,          /* GUI_MENU_PLAIN           */
    GUI_BRIGHT_WHITE, GUI_BLUE,          /* GUI_MENU_STANDOUT        */
    GUI_GREY,         GUI_BLUE,          /* GUI_MENU_GRAYED          */
    GUI_CYAN,         GUI_BLACK,         /* GUI_MENU_ACTIVE          */
    GUI_BRIGHT_WHITE, GUI_BLACK,         /* GUI_MENU_ACTIVE_STANDOUT */
    GUI_BRIGHT_WHITE, GUI_BLUE,          /* GUI_BACKGROUND           */
    GUI_CYAN,         GUI_BLUE,          /* GUI_MENU_FRAME           */
    GUI_GREY,         GUI_BLUE,          /* GUI_TITLE_INACTIVE       */
    GUI_BRIGHT_BLUE,  GUI_CYAN,          /* GUI_FRAME_ACTIVE         */
    GUI_BRIGHT_BLUE,  GUI_CYAN,          /* GUI_FRAME_INACTIVE       */
    GUI_BRIGHT_WHITE, GUI_BLUE,          /* GUI_ICON                 */
    GUI_GREY,         GUI_BLACK,         /* GUI_MENU_GRAYED_ACTIVE   */
    GUI_GREY,         GUI_CYAN           /* GUI_FRAME_RESIZE         */
};
#endif

gui_colour_set ToolPlain = {
    GUI_BLACK,          GUI_BLUE,        /* GUI_HOTSPOT         */
};

gui_colour_set ToolStandout = {
    GUI_BRIGHT_WHITE,   GUI_BLUE,           /* GUI_HOTSPOT_STANDOUT     */
};

#if !default_colours
gui_colour_set ParentColours[GUI_NUM_ATTRS] = {
    /* Fore              Back        */
    GUI_BLUE,           GUI_WHITE,          /* GUI_MENU_PLAIN           */
    GUI_BRIGHT_WHITE,   GUI_WHITE,          /* GUI_MENU_STANDOUT        */
    GUI_GREY,           GUI_WHITE,          /* GUI_MENU_GRAYED          */
    GUI_BLUE,           GUI_BLACK,          /* GUI_MENU_ACTIVE          */
    GUI_BRIGHT_WHITE,   GUI_BLACK,          /* GUI_MENU_ACTIVE_STANDOUT */
    GUI_BRIGHT_BLUE,    GUI_BRIGHT_WHITE,   /* GUI_BACKGROUND           */
    GUI_BLUE,           GUI_WHITE,          /* GUI_MENU_FRAME           */
    GUI_GREY,           GUI_WHITE,          /* GUI_TITLE_INACTIVE       */
    GUI_WHITE,          GUI_BLUE,           /* GUI_FRAME_ACTIVE         */
    GUI_GREY,           GUI_WHITE,          /* GUI_FRAME_INACTIVE       */
    GUI_BRIGHT_WHITE,   GUI_BLUE,           /* GUI_ICON                 */
    GUI_GREY,           GUI_BLACK,          /* GUI_MENU_GRAYED_ACTIVE   */
    GUI_GREY,           GUI_WHITE           /* GUI_FRAME_RESIZE       */
};
#endif

static disp_entry Child1Data[NUM_CHILD1_ROWS] = {
    { NULL, "This is data in the child window 1", 0 },
    { NULL, "This is a second row of data in the child window 1", 0 },
    { NULL, "This is a third row of data in the child window 1", 0 },
    { NULL, "This is a fourth row of data in the child window 1", 0 },
    { NULL, "This is a fifth row of data in the child window 1", 0 },
    { NULL, "This is a sixth row of data in the child window 1", 0 },

⌨️ 快捷键说明

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