/*
 * Copyright 1995 Alexandre Julliard
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

/*
 * WARNING: DO NOT CHANGE THE SIZE OF THE STANDARD DIALOG TEMPLATES.
 */

LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT

OPEN_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Open"
FONT 8, "MS Shell Dlg"
{
 LTEXT "File &Name:", 1090, 6, 6, 76, 9
 EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP
 LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
 LTEXT "&Directories:", -1, 110, 6, 92, 9
 LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP
 LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
 LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9
 COMBOBOX cmb1, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 LTEXT "Dri&ves:", 1091, 110, 104, 92, 9
 COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 DEFPUSHBUTTON "Open", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Help", pshHelp, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP
 CHECKBOX "&Read Only", chx1, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
}


SAVE_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Save As..."
FONT 8, "MS Shell Dlg"
{
 LTEXT "File &Name:", 1090, 6, 6, 76, 9
 EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP
 LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
 LTEXT "&Directories:", -1, 110, 6, 92, 9
 LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP
 LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
 LTEXT "List Files of &Type:", 1089, 6, 104, 90, 9
 COMBOBOX cmb1, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 LTEXT "Dri&ves:", 1091, 110, 104, 92, 9
 COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 DEFPUSHBUTTON "Save As", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Cancel", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Help", pshHelp, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP
 CHECKBOX "&Read Only", chx1, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
}


PRINT DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Print"
FONT 8, "MS Shell Dlg"
{
 LTEXT "Printer:", 1088, 6, 6, 40, 9
 LTEXT "", 1089, 60, 6, 150, 9
 GROUPBOX "Print Range", grp1, 6, 30, 160, 65, BS_GROUPBOX
 RADIOBUTTON "&All", rad1, 16, 45, 60, 12
 RADIOBUTTON "S&election", rad2, 16, 60, 60, 12
 RADIOBUTTON "&Pages", rad3, 16, 75, 60, 12
 DEFPUSHBUTTON "Print", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Cancel", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Setup", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP
 LTEXT "&From:", 1090, 60, 80, 30, 9
 LTEXT "&To:", 1091, 120, 80, 30, 9
 LTEXT "Print &Quality:", 1092, 6, 100, 76, 9
 COMBOBOX cmb1, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 CHECKBOX "Print to Fi&le", chx1, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CHECKBOX "Condensed", chx2, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
}


PRINT_SETUP DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Print Setup"
FONT 8, "MS Shell Dlg"
{
 GROUPBOX "Printer", grp1, 6, 10, 180, 65, BS_GROUPBOX
 RADIOBUTTON "&Default Printer", rad1, 16, 20, 80, 12
 LTEXT "[none]", 1088, 35, 35, 120, 9
 RADIOBUTTON "Specific &Printer", rad2, 16, 50, 80, 12
 COMBOBOX cmb1, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 DEFPUSHBUTTON "OK", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Cancel", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Setup", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP
 GROUPBOX "Orientation", grp2, 6, 85, 100, 50, BS_GROUPBOX
 RADIOBUTTON "Po&rtrait", rad3, 50, 100, 50, 12
 RADIOBUTTON "&Landscape", rad4, 50, 115, 50, 12
 ICON "LANDSCAP", stc10, 10, 95, 32, 32
 ICON "PORTRAIT", stc11, 10, 95, 32, 32
 GROUPBOX "Paper", grp3, 120, 85, 180, 50, BS_GROUPBOX
 LTEXT "Si&ze", 1089, 130, 95, 30, 9
 LTEXT "&Source", 1090, 130, 110, 30, 9
 COMBOBOX cmb2, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 COMBOBOX cmb3, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
}


CHOOSE_FONT DIALOG DISCARDABLE  13, 54, 264, 147
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Font"
FONT 8, "MS Shell Dlg"
{
    LTEXT           "&Font:",stc1 ,6,3,40,9
    COMBOBOX        cmb1, 6,13,94,54,  CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
    LTEXT           "Font St&yle:",stc2 ,108,3,44,9
    COMBOBOX        cmb2,108,13,64,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
    LTEXT           "&Size:",stc3,179,3,30,9
    COMBOBOX        cmb3,179,13,32,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT
    DEFPUSHBUTTON   "OK",IDOK,218,6,40,14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
    PUSHBUTTON      "Cancel",IDCANCEL,218,23,40,14,WS_GROUP | WS_TABSTOP
    PUSHBUTTON      "&Apply", psh3,218,40,40,14,WS_GROUP | WS_TABSTOP
    PUSHBUTTON      "&Help" , pshHelp,218,57,40,14,WS_GROUP | WS_TABSTOP
    GROUPBOX        "Effects",grp1,6,72,84,34,WS_GROUP
    CHECKBOX	    "Stri&keout", chx1, 10,82,50,10, BS_AUTOCHECKBOX | WS_TABSTOP
    CHECKBOX 	    "&Underline", chx2, 10,94,50,10, BS_AUTOCHECKBOX
    LTEXT           "&Color:", stc4 ,6,110,30,9
    COMBOBOX        cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
		    CBS_AUTOHSCROLL |  WS_BORDER | WS_VSCROLL | WS_TABSTOP
    GROUPBOX        "Sample",grp2,98,72,120,36,WS_GROUP
    CTEXT           "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
    LTEXT           "Scr&ipt:",stc7 ,98,114,40,9
    COMBOBOX        cmb5,98,124,120,90,CBS_DROPDOWNLIST | CBS_HASSTRINGS |
		    CBS_AUTOHSCROLL |   WS_VSCROLL | WS_TABSTOP
}


CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 185
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Color"
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Basic Colors:",   1088, 4,    4,  140, 10
 LTEXT "&Custom Colors:",  1089, 4,   106, 140, 10
 LTEXT "Color |  Sol&id",  1090, 150, 151,  48, 10
 LTEXT   "&Red:", 726 /*1094*/,249,126,24,10
 EDITTEXT 706, 275,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT   "&Green:",727/*1095*/,249,140,24,10
 EDITTEXT 707, 275,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT   "&Blue:",728 /*1096*/,249,154,24,10
 EDITTEXT 708, 275,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Hue:" ,723 /*1091*/,202,126,22,10
 EDITTEXT 703, 226,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Sat:" ,724 /*1092*/,202,140,22,10
 EDITTEXT 704, 226,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Lum:" ,725 /*1093*/,202,154,22,10
 EDITTEXT 705, 226,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 CONTROL "" ,720,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,14,140,86
 CONTROL "" ,721,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,116,140,28
 CONTROL "" ,710,"STATIC",WS_BORDER|SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,4,118,116
 CONTROL "" ,702,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 278,4,8,116
 CONTROL "" ,709,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,124,40,26
 DEFPUSHBUTTON "OK",  1,  4, 166, 44, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Cancel", 2, 52, 166, 44, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Help", pshHelp,100,166, 44, 14
 PUSHBUTTON "&Add to Custom Colors",    712/*1024*/, 152, 166, 142, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Define Custom Colors >>", 719/*1025*/,   4, 150, 142, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON  "&i",713,300,200,4,14   /* just a dummy:  'i' is  like  &i  in "sol&id"  */
}


FINDDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 236, 62
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Find"
FONT 8, "MS Shell Dlg"
{
 LTEXT "Fi&nd What:", -1, 4, 8, 42, 8
 EDITTEXT edt1, 47, 7, 128, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
 CHECKBOX "Match &Whole Word Only", chx1, 4, 26, 100, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CHECKBOX "Match &Case", chx2, 4, 42, 64, 12, BS_AUTOCHECKBOX | WS_TABSTOP
 GROUPBOX "Direction", grp1, 107, 26, 68, 28
 CONTROL "&Up", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 111, 38, 30, 12
 CONTROL "&Down", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 138, 38, 30, 12

 DEFPUSHBUTTON "&Find Next", IDOK, 182,  5, 50, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
 PUSHBUTTON "Cancel", IDCANCEL	 , 182, 23, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Help", pshHelp	 , 182, 45, 50, 14, WS_GROUP | WS_TABSTOP
}


REPLACEDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 230, 94
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Replace"
FONT 8, "MS Shell Dlg"
{
 LTEXT "Fi&nd What:", -1, 4, 9, 48, 8
 EDITTEXT edt1, 54, 7, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT "Re&place With:", -1, 4, 26, 48, 8
 EDITTEXT edt2, 54, 24, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
 CHECKBOX "Match &Whole Word Only", chx1, 5, 46, 104, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CHECKBOX "Match &Case", chx2, 5, 62, 59, 12, BS_AUTOCHECKBOX | WS_TABSTOP

 DEFPUSHBUTTON "&Find Next", IDOK, 174,  4, 50, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
 PUSHBUTTON "&Replace", psh1	 , 174, 21, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Replace &All", psh2 , 174, 38, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Cancel", IDCANCEL	 , 174, 55, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Help", pshHelp	 , 174, 75, 50, 14, WS_GROUP | WS_TABSTOP
}


PRINT32 DIALOG LOADONCALL MOVEABLE DISCARDABLE  32, 32, 288, 186
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU |
      DS_CONTEXTHELP | DS_3DLOOK
CAPTION "Print"
FONT 8, "MS Shell Dlg"
{
    DEFPUSHBUTTON   "OK",     IDOK,     180,164, 48,14, WS_GROUP | BS_DEFPUSHBUTTON
    PUSHBUTTON      "Cancel", IDCANCEL, 232,164, 48,14, WS_GROUP
    PUSHBUTTON      "&Help",  pshHelp,  50, 161, 48,14, WS_GROUP

    GROUPBOX        "Printer",        grp4,   8,  4, 272,84, WS_GROUP
    CONTROL         "Print to fi&le", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,212,70,64,12
    PUSHBUTTON      "&Properties",    psh2, 212, 17,  60,14, WS_GROUP
    LTEXT           "&Name:",         stc6,  16, 20,  36,8
    COMBOBOX                          cmb4,  52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "Status:",        stc8,  16, 36,  36,10, SS_NOPREFIX
    LTEXT           "Dummy State",    stc12, 52, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Type:",          stc7,  16, 48,  36,10, SS_NOPREFIX
    LTEXT           "Dummy Type",     stc11, 52, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Where:",         stc10, 16, 60,  36,10, SS_NOPREFIX
    LTEXT           "Dummy Location", stc14, 52, 60, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Comment:",       stc9,  16, 72,  36,10, SS_NOPREFIX
    LTEXT           "Dummy Remark",   stc13, 52, 72, 152,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP

    GROUPBOX        "Copies",         grp2, 160, 92, 120,64, WS_GROUP
    LTEXT           "Number of &copies:",stc5,168,108,68,8
    ICON            "",               ico3, 162,124,  76,24, WS_GROUP | SS_CENTERIMAGE
    CONTROL         "C&ollate",       chx2,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,240,130,36,12
    EDITTEXT                          edt3, 240,106,  32,12, WS_GROUP | ES_NUMBER

    GROUPBOX        "Print range",    grp1,   8,92,  144,64, WS_GROUP
    CONTROL         "&All",           rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,106,64,12
    CONTROL         "Pa&ges",         rad3,"Button",BS_AUTORADIOBUTTON,16,122,36,12
    CONTROL         "&Selection",     rad2,"Button",BS_AUTORADIOBUTTON,16,138,64,12
    EDITTEXT                          edt1,  74,122,  26,12, WS_GROUP | ES_NUMBER
    EDITTEXT                          edt2, 118,122,  26,12, WS_GROUP | ES_NUMBER
    RTEXT           "&from:",         stc2,  52,124,  20,8
    RTEXT           "&to:",           stc3, 100,124,  16,8
}

PRINT32_SETUP DIALOG LOADONCALL MOVEABLE DISCARDABLE  32, 32, 288, 178
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU |
      DS_CONTEXTHELP | DS_3DLOOK
CAPTION "Print Setup"
FONT 8, "MS Shell Dlg"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,180,156,48,14,WS_GROUP
    PUSHBUTTON      "Cancel",IDCANCEL,232,156,48,14
/*    PUSHBUTTON      "Network...", psh5, 284,156,48,14 */

    GROUPBOX        "Printer",        grp4,   8,  4, 272,84, WS_GROUP
    PUSHBUTTON      "&Properties",    psh2, 212, 17,  60,14, WS_GROUP
    LTEXT           "&Name:",         stc6,  16, 20,  36,8
    COMBOBOX                          cmb1,  52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "Status:",        stc8,  16, 36,  36,10, SS_NOPREFIX
    LTEXT           "Dummy State",    stc12, 52, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Type:",          stc7,  16, 48,  36,10, SS_NOPREFIX
    LTEXT           "Dummy Type",     stc11, 52, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Where:",         stc10, 16, 60,  36,10, SS_NOPREFIX
    LTEXT           "Dummy Location", stc14, 52, 60, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Comment:",       stc9,  16, 72,  36,10, SS_NOPREFIX
    LTEXT           "Dummy Remark",   stc13, 52, 72, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP

    GROUPBOX        "Paper",          grp2,   8, 92, 164,56, WS_GROUP
    LTEXT           "Si&ze:",         stc2,  16,108,  36, 8
    COMBOBOX                          cmb2,  52,106, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "&Source:",       stc3,  16,128,  36, 8
    COMBOBOX                          cmb3,  52,126, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP

    GROUPBOX        "Orientation",    grp1, 180, 92, 100,56, WS_GROUP
    ICON            "",               ico1, 195,112,  18,20, WS_GROUP
    CONTROL         "P&ortrait",      rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP |WS_TABSTOP,224,106,52,12
    CONTROL         "L&andscape",     rad2,"Button",BS_AUTORADIOBUTTON,224,126,52,12
END

PAGESETUPDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 32, 32, 240, 240
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Setup Page"
FONT 8, "MS Shell Dlg"
BEGIN
  CONTROL "", rct1, "Static", SS_WHITERECT, 80, 8, 80, 80
  CONTROL "", rct2, "Static", SS_GRAYRECT, 160, 12, 4, 80
  CONTROL "", rct3, "Static", SS_GRAYRECT,  84, 88, 80, 4
  GROUPBOX "Paper", grp2, 8, 96, 224, 56, BS_GROUPBOX
  LTEXT "&Size:", stc2, 16, 112, 36, 8
  COMBOBOX cmb2, 64, 110, 160, 160, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL
  LTEXT "&Tray:", stc3, 16, 132, 36, 8
  COMBOBOX cmb3, 64, 130, 160, 160, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL
  GROUPBOX "Orientation", grp1, 8, 156, 64, 56, BS_GROUPBOX
  AUTORADIOBUTTON "&Portrait", rad1, 16, 170, 52, 12, BS_AUTORADIOBUTTON
  AUTORADIOBUTTON "&Landscape", rad2, 16, 190, 52, 12, BS_AUTORADIOBUTTON
  GROUPBOX "Borders", grp4, 80, 156, 152, 56, BS_GROUPBOX
  LTEXT "L&eft:", stc15, 88, 172, 21, 8
  EDITTEXT edt4, 111, 170, 39, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  LTEXT "&Right:", stc16, 159, 172, 27, 8
  EDITTEXT edt6, 187, 170, 39, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  LTEXT "T&op:", stc17, 88, 192, 21, 8
  EDITTEXT edt5, 111, 190, 39, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  LTEXT "&Bottom:", stc18, 159, 192, 23, 8
  EDITTEXT edt7, 187, 190, 39, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  DEFPUSHBUTTON "OK", IDOK, 71, 220, 50, 14, BS_PUSHBUTTON
  PUSHBUTTON "Cancel", IDCANCEL, 126, 220, 50, 14
  PUSHBUTTON "P&rinter...", psh3, 184, 220, 48, 14
END

NEWFILEOPENORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 280, 164
STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN
CAPTION "Open"
FONT 8, "MS Shell Dlg"
{
    LTEXT	"Look &in:",IDC_LOOKINSTATIC,4,6,43,8, SS_NOTIFY
    COMBOBOX	IDC_LOOKIN,49,3,132,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP

    LTEXT	"" , IDC_TOOLBARSTATIC, 181, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE
    LISTBOX	IDC_SHELLSTATIC,4,20,272,85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE

    LTEXT	"File &name:",IDC_FILENAMESTATIC,5,112,46,8, SS_NOTIFY
    EDITTEXT	IDC_FILENAME,54,110,155,12,ES_AUTOHSCROLL

    LTEXT	"Files of &type:",IDC_FILETYPESTATIC,5,128,42,8, SS_NOTIFY
    COMBOBOX	IDC_FILETYPE,54,126,155,53,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP

    CONTROL	"Open as &read-only",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,145,100,10

    DEFPUSHBUTTON	"&Open",		 IDOK,222,110,50,14
    PUSHBUTTON		"Cancel",		 IDCANCEL,222,128,50,14
    PUSHBUTTON		"&Help",		 pshHelp,222,145,50,14
}

STRINGTABLE DISCARDABLE
{
    IDS_ABOUTBOX            "&About FolderPicker Test"
    IDS_DOCUMENTFOLDERS     "Document Folders"
    IDS_PERSONAL            "My Documents"
    IDS_FAVORITES           "My Favorites"
    IDS_PATH                "System Path"
    IDS_DESKTOP             "Desktop"
    IDS_FONTS               "Fonts"
    IDS_MYCOMPUTER          "My Computer"
}

STRINGTABLE DISCARDABLE
{
    IDS_SYSTEMFOLDERS       "System Folders"
    IDS_LOCALHARDRIVES      "Local Hard Drives"
    IDS_FILENOTFOUND        "File not found"
    IDS_VERIFYFILE          "Please verify that the correct file name was given"
    IDS_CREATEFILE          "File does not exist.\nDo you want to create file?"
    IDS_OVERWRITEFILE       "File already exists.\nDo you want to replace it?"
    IDS_INVALID_FILENAME_TITLE "Invalid character(s) in path"
    IDS_INVALID_FILENAME    "A filename cannot contain any of the following characters:\n                          / : < > |"
    IDS_PATHNOTEXISTING     "Path does not exist"
    IDS_FILENOTEXISTING     "File does not exist"
}

STRINGTABLE DISCARDABLE
{
    IDS_UPFOLDER         "Up One Level"
    IDS_NEWFOLDER        "Create New Folder"
    IDS_LISTVIEW         "List"
    IDS_REPORTVIEW       "Details"
    IDS_TODESKTOP        "Browse to Desktop"
}

STRINGTABLE DISCARDABLE
{
    PD32_PRINT_TITLE       "Print"

    PD32_VALUE_UREADABLE                  "Unreadable Entry"
    PD32_INVALID_PAGE_RANGE "This value does not lie within the page range.\n\
Please enter a value between %d and %d."
    PD32_FROM_NOT_ABOVE_TO                "The 'from' entry cannot exceed the \
'to' entry."
    PD32_MARGINS_OVERLAP                  "Margins overlap or fall outside \
Paper boundaries.\nPlease reenter margins."
    PD32_NR_OF_COPIES_EMPTY               "The number of 'Number of copies' \
value cannot be empty."
    PD32_TOO_LARGE_COPIES                 "This large number of copies is not \
supported by your printer.\nPlease enter a value between 1 and %d."
    PD32_PRINT_ERROR                      "A printer error occurred."
    PD32_NO_DEFAULT_PRINTER               "No default printer defined."
    PD32_CANT_FIND_PRINTER                "Cannot find the printer."
    PD32_OUT_OF_MEMORY                    "Out of memory."
    PD32_GENERIC_ERROR                    "An error occurred."
    PD32_DRIVER_UNKNOWN                   "Unknown printer driver."
    PD32_NO_DEVICES                       "Before you can perform printer-related tasks \
such as page setup or printing a document, you need to install a printer. \
Please install one and retry."

    PD32_DEFAULT_PRINTER                  "Default Printer; "
    PD32_NR_OF_DOCUMENTS_IN_QUEUE         "There are %d documents in the queue"
    PD32_MARGINS_IN_INCHES                "Margins [inches]"
    PD32_MARGINS_IN_MILLIMETERS           "Margins [mm]"
    PD32_MILLIMETERS                      "mm"

    PD32_PRINTER_STATUS_READY             "Ready"
    PD32_PRINTER_STATUS_PAUSED            "Paused; "
    PD32_PRINTER_STATUS_ERROR             "Error; "
    PD32_PRINTER_STATUS_PENDING_DELETION  "Pending deletion; "
    PD32_PRINTER_STATUS_PAPER_JAM         "Paper jam; "
    PD32_PRINTER_STATUS_PAPER_OUT         "Out of paper; "
    PD32_PRINTER_STATUS_MANUAL_FEED       "Feed paper manual; "
    PD32_PRINTER_STATUS_PAPER_PROBLEM     "Paper problem; "
    PD32_PRINTER_STATUS_OFFLINE           "Printer offline; "
    PD32_PRINTER_STATUS_IO_ACTIVE         "I/O Active; "
    PD32_PRINTER_STATUS_BUSY              "Busy; "
    PD32_PRINTER_STATUS_PRINTING          "Printing; "
    PD32_PRINTER_STATUS_OUTPUT_BIN_FULL   "Output tray is full; "
    PD32_PRINTER_STATUS_NOT_AVAILABLE     "Not available; "
    PD32_PRINTER_STATUS_WAITING           "Waiting; "
    PD32_PRINTER_STATUS_PROCESSING        "Processing; "
    PD32_PRINTER_STATUS_INITIALIZING      "Initialising; "
    PD32_PRINTER_STATUS_WARMING_UP        "Warming up; "
    PD32_PRINTER_STATUS_TONER_LOW         "Toner low; "
    PD32_PRINTER_STATUS_NO_TONER          "No toner; "
    PD32_PRINTER_STATUS_PAGE_PUNT         "Page punt; "
    PD32_PRINTER_STATUS_USER_INTERVENTION "Interrupted by user; "
    PD32_PRINTER_STATUS_OUT_OF_MEMORY     "Out of memory; "
    PD32_PRINTER_STATUS_DOOR_OPEN         "The printer door is open; "
    PD32_PRINTER_STATUS_SERVER_UNKNOWN    "Print server unknown; "
    PD32_PRINTER_STATUS_POWER_SAVE        "Power save mode; "
}

STRINGTABLE DISCARDABLE /* Font styles */
{
    IDS_FONT_REGULAR       "Regular"
    IDS_FONT_BOLD          "Bold"
    IDS_FONT_ITALIC        "Italic"
    IDS_FONT_BOLD_ITALIC   "Bold Italic"
}

STRINGTABLE DISCARDABLE /* Color names */
{
    IDS_COLOR_BLACK     "Black"
    IDS_COLOR_MAROON    "Maroon"
    IDS_COLOR_GREEN     "Green"
    IDS_COLOR_OLIVE     "Olive"
    IDS_COLOR_NAVY      "Navy"
    IDS_COLOR_PURPLE    "Purple"
    IDS_COLOR_TEAL      "Teal"
    IDS_COLOR_GRAY      "Gray"
    IDS_COLOR_SILVER    "Silver"
    IDS_COLOR_RED       "Red"
    IDS_COLOR_LIME      "Lime"
    IDS_COLOR_YELLOW    "Yellow"
    IDS_COLOR_BLUE      "Blue"
    IDS_COLOR_FUCHSIA   "Fuchsia"
    IDS_COLOR_AQUA      "Aqua"
    IDS_COLOR_WHITE     "White"
}

STRINGTABLE DISCARDABLE
{
    IDS_FONT_SIZE   "Select a font size between %d and %d points."
    IDS_SAVE_BUTTON "&Save"
    IDS_SAVE_IN     "Save &in:"
    IDS_SAVE        "Save"
    IDS_SAVE_AS     "Save as"
    IDS_OPEN_FILE   "Open File"
}


/****************************************************************/
/* English neutral resources
/****************************************************************/

LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL

CHOOSE_FONT DIALOG DISCARDABLE  13, 54, 264, 147
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Font"
FONT 8, "MS Shell Dlg"
{
    LTEXT           "&Font:",stc1 ,6,3,40,9
    COMBOBOX        cmb1, 6,13,94,54,  CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
    LTEXT           "Font St&yle:",stc2 ,108,3,44,9
    COMBOBOX        cmb2,108,13,64,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
    LTEXT           "&Size:",stc3,179,3,30,9
    COMBOBOX        cmb3,179,13,32,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT
    DEFPUSHBUTTON   "OK",IDOK,218,6,40,14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
    PUSHBUTTON      "Cancel",IDCANCEL,218,23,40,14,WS_GROUP | WS_TABSTOP
    PUSHBUTTON      "&Apply", psh3,218,40,40,14,WS_GROUP | WS_TABSTOP
    PUSHBUTTON      "&Help" , pshHelp,218,57,40,14,WS_GROUP | WS_TABSTOP
    GROUPBOX        "Effects",grp1,6,72,84,34,WS_GROUP
    CHECKBOX	    "Stri&keout", chx1, 10,82,50,10, BS_AUTOCHECKBOX | WS_TABSTOP
    CHECKBOX 	    "&Underline", chx2, 10,94,50,10, BS_AUTOCHECKBOX
    LTEXT           "&Colour:", stc4 ,6,110,30,9
    COMBOBOX        cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
		    CBS_AUTOHSCROLL |  WS_BORDER | WS_VSCROLL | WS_TABSTOP
    GROUPBOX        "Sample",grp2,98,72,120,36,WS_GROUP
    CTEXT           "AaBbYyZz",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
    LTEXT           "Scr&ipt:",stc7 ,98,114,40,9
    COMBOBOX        cmb5,98,124,120,90,CBS_DROPDOWNLIST | CBS_HASSTRINGS |
		    CBS_AUTOHSCROLL |   WS_VSCROLL | WS_TABSTOP
}


CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 185
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Colour"
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Basic Colours:",   1088, 4,    4,  140, 10
 LTEXT "&Custom Colours:",  1089, 4,   106, 140, 10
 LTEXT "Colour |  Sol&id",  1090, 150, 151,  48, 10
 LTEXT   "&Red:", 726 /*1094*/,249,126,24,10
 EDITTEXT 706, 275,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT   "&Green:",727/*1095*/,249,140,24,10
 EDITTEXT 707, 275,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT   "&Blue:",728 /*1096*/,249,154,24,10
 EDITTEXT 708, 275,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Hue:" ,723 /*1091*/,202,126,22,10
 EDITTEXT 703, 226,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Sat:" ,724 /*1092*/,202,140,22,10
 EDITTEXT 704, 226,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Lum:" ,725 /*1093*/,202,154,22,10
 EDITTEXT 705, 226,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 CONTROL "" ,720,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,14,140,86
 CONTROL "" ,721,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,116,140,28
 CONTROL "" ,710,"STATIC",WS_BORDER|SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,4,118,116
 CONTROL "" ,702,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 278,4,8,116
 CONTROL "" ,709,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,124,40,26
 DEFPUSHBUTTON "OK",  1,  4, 166, 44, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Cancel", 2, 52, 166, 44, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Help", pshHelp,100,166, 44, 14
 PUSHBUTTON "&Add to Custom Colours",    712/*1024*/, 152, 166, 142, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Define Custom Colours >>", 719/*1025*/,   4, 150, 142, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON  "&i",713,300,200,4,14   /* just a dummy:  'i' is  like  &i  in "sol&id"  */
}

STRINGTABLE DISCARDABLE /* Color names */
{
    IDS_COLOR_BLACK     "Black"
    IDS_COLOR_MAROON    "Maroon"
    IDS_COLOR_GREEN     "Green"
    IDS_COLOR_OLIVE     "Olive"
    IDS_COLOR_NAVY      "Navy"
    IDS_COLOR_PURPLE    "Purple"
    IDS_COLOR_TEAL      "Teal"
    IDS_COLOR_GRAY      "Grey"
    IDS_COLOR_SILVER    "Silver"
    IDS_COLOR_RED       "Red"
    IDS_COLOR_LIME      "Lime"
    IDS_COLOR_YELLOW    "Yellow"
    IDS_COLOR_BLUE      "Blue"
    IDS_COLOR_FUCHSIA   "Fuchsia"
    IDS_COLOR_AQUA      "Aqua"
    IDS_COLOR_WHITE     "White"
}
