/*
 * Copyright 1999 Alexander Kanavin
 *
 * 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
 */

#include "cdlg.h"
#include "filedlgbrowser.h"

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

/* UTF-8 */
#pragma code_page(65001)

LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT

OPEN_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Открыть"
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Имя файла:", 1090, 6, 6, 76, 9
 EDITTEXT 1152, 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 "&Каталоги:", -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 "Показывать файлы &типа:", 1089, 6, 104, 90, 9
 COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 LTEXT "&Диски:", 1091, 110, 104, 92, 9
 COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 DEFPUSHBUTTON "Открыть", IDOK, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Отмена", IDCANCEL, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Справка", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP
 CHECKBOX "Т&олько для чтения", 1040, 208, 68, 54, 24, BS_AUTOCHECKBOX | BS_MULTILINE  | WS_GROUP | WS_TABSTOP
}


SAVE_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Сохранить как..."
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Имя файла:", 1090, 6, 6, 76, 9
 EDITTEXT 1152, 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 "&Каталоги:", -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 "Показывать файлы &типа:", 1089, 6, 104, 90, 9
 COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 LTEXT "&Диски:", 1091, 110, 104, 92, 9
 COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 DEFPUSHBUTTON "Сохранить как", IDOK, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Отмена", IDCANCEL, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Справка", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP
 CHECKBOX "&Только для чтения", 1040, 208, 68, 54, 24, BS_AUTOCHECKBOX | BS_MULTILINE | WS_GROUP | WS_TABSTOP
}


PRINT DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Печать"
FONT 8, "MS Shell Dlg"
{
 LTEXT "Принтер:", 1088, 6, 6, 40, 9
 LTEXT "", 1089, 60, 6, 150, 9
 GROUPBOX "Печатать", 1072, 6, 30, 160, 65, BS_GROUPBOX
 RADIOBUTTON "&Все", 1056, 16, 45, 60, 12
 RADIOBUTTON "В&ыделенный фрагмент", 1057, 16, 60, 60, 12
 RADIOBUTTON "&Страницы", 1058, 16, 75, 60, 12
 DEFPUSHBUTTON "Печать", IDOK, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Отмена", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Сво&йства", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP
 LTEXT "&с:", 1090, 60, 80, 30, 9
 LTEXT "&по:", 1091, 120, 80, 30, 9
 LTEXT "&Качество печати:", 1092, 6, 100, 76, 9
 COMBOBOX 1136, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 CHECKBOX "П&ечать в файл", 1040, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CHECKBOX "Сжато", 1041, 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 "Настройка принтера"
FONT 8, "MS Shell Dlg"
{
 GROUPBOX "Принтер", 1072, 6, 10, 180, 65, BS_GROUPBOX
 RADIOBUTTON "Принтер по &умолчанию", 1056, 16, 20, 80, 12
 LTEXT "[нет]", 1088, 35, 35, 120, 9
 RADIOBUTTON "&Другой принтер", 1057, 16, 50, 80, 12
 COMBOBOX 1136, 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 "Отмена", IDCANCEL, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Настройка", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP
 GROUPBOX "Ориентация", 1073, 6, 85, 100, 50, BS_GROUPBOX
 RADIOBUTTON "&Книжная", 1058, 50, 100, 40, 12
 RADIOBUTTON "&Альбомная", 1059, 50, 115, 40, 12
 ICON "LANDSCAP", 1097, 10, 95, 32, 32
 ICON "PORTRAIT", 1098, 10, 95, 32, 32
 GROUPBOX "Бумага", 1074, 120, 85, 180, 50, BS_GROUPBOX
 LTEXT "Ра&змер", 1089, 130, 95, 30, 9
 LTEXT "&Источник", 1090, 130, 110, 30, 9
 COMBOBOX 1137, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 COMBOBOX 1138, 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 8, "MS Shell Dlg"
{
    LTEXT           "&Шрифт:",1088 ,6,3,40,9
    COMBOBOX        1136 ,6,13,94,54,  CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
    LTEXT           "&Начертание:",1089 ,108,3,44,9
    COMBOBOX        1137,108,13,64,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
    LTEXT           "&Размер:",1090,179,3,30,9
    COMBOBOX        1138,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      "Отмена",IDCANCEL,218,23,40,14,WS_GROUP | WS_TABSTOP
    PUSHBUTTON      "&Применить", 1026,218,40,40,14,WS_GROUP | WS_TABSTOP
    PUSHBUTTON      "&Справка" , 1038,218,57,40,14,WS_GROUP | WS_TABSTOP
    GROUPBOX        "Атрибуты",1072,6,72,84,34,WS_GROUP
    CHECKBOX	    "&Зачеркнутый", 1040, 10,82,75,10, BS_AUTOCHECKBOX | WS_TABSTOP
    CHECKBOX 	    "Под&черкнутый", 1041, 10,94,75,10, BS_AUTOCHECKBOX
    LTEXT           "Ц&вет:", 1091 ,6,110,30,9
    COMBOBOX        1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
		    CBS_AUTOHSCROLL |  WS_BORDER | WS_VSCROLL | WS_TABSTOP
    GROUPBOX        "Образец",grp2,98,72,120,36,WS_GROUP
    CTEXT           "АаБбAaBb",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
    LTEXT           "На&бор символов:",stc7 ,98,114,80,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, 310, 185
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Изменение палитры"
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Базовая палитра:",   1088, 4,    4,  140, 10
 LTEXT "До&полнительные цвета:",  1089, 4,   106, 140, 10
 LTEXT "Цвет|За&ливка",  1090, 150, 151,  48, 10
 LTEXT   "Крас&ный:", 726 /*1094*/,254,126,32,10
 EDITTEXT 706, 288,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT   "&Зелёный:",727/*1095*/,254,140,32,10
 EDITTEXT 707, 288,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT   "С&иний:",728 /*1096*/,264,154,24,10
 EDITTEXT 708, 288,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "О&ттенок:" ,723 /*1091*/,202,126,30,10
 EDITTEXT 703, 234,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Контраст:" ,724 /*1092*/,199,140,34,10
 EDITTEXT 704, 234,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Яркость:" ,725 /*1093*/,202,154,30,10
 EDITTEXT 705, 234,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",  IDOK,  4, 166, 44, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Отмена", IDCANCEL, 52, 166, 44, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Cправка", 1038,100,166, 44, 14
 PUSHBUTTON "&Добавить в набор",    712/*1024*/, 152, 166, 142, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Определить цвет >>", 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, 245, 62
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Поиск"
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Образец:", -1, 4, 8, 42, 8
 EDITTEXT 1152, 47, 7, 138, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
 CHECKBOX "&Только слово целиком", 1040, 4, 26, 100, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CHECKBOX "C &учетом регистра", 1041, 4, 42, 100, 12, BS_AUTOCHECKBOX | WS_TABSTOP
 GROUPBOX "Направление", 1072, 107, 26, 78, 28
 CONTROL "&Вверх", 1056, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 111, 38, 40, 12
 CONTROL "В&низ", 1057, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 152, 38, 30, 12

 DEFPUSHBUTTON "&Найти далее", IDOK, 190,  5, 50, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
 PUSHBUTTON "Отмена", IDCANCEL	 , 190, 23, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Справка", pshHelp	 , 190, 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 "Замена"
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Образец:", -1, 4, 9, 48, 8
 EDITTEXT 1152, 54, 7, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT "З&аменить на:", -1, 4, 26, 48, 8
 EDITTEXT 1153, 54, 24, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
 CHECKBOX "&Только слово целиком", 1040, 5, 46, 104, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CHECKBOX "С &учётом регистра", 1041, 5, 62, 104, 12, BS_AUTOCHECKBOX | WS_TABSTOP

 DEFPUSHBUTTON "&Найти далее", IDOK, 174,  4, 50, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
 PUSHBUTTON "&Заменить", psh1	 , 174, 21, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Заменить &все", psh2 , 174, 38, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Отмена", IDCANCEL	 , 174, 55, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Справка", 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 "Печать"
FONT 8, "MS Shell Dlg"
{
    DEFPUSHBUTTON   "OK",     IDOK,     180,164, 48,14, WS_GROUP | BS_DEFPUSHBUTTON
    PUSHBUTTON      "Отмена", IDCANCEL, 232,164, 48,14, WS_GROUP
    PUSHBUTTON      "&Справка",  pshHelp,  50, 161, 48,14, WS_GROUP

    GROUPBOX        "Принтер",        grp4,   8,  4, 272,84, WS_GROUP
    CONTROL         "Печать в фай&л", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,212,70,64,12
    PUSHBUTTON      "&Свойства",    psh2, 212, 17,  60,14, WS_GROUP
    LTEXT           "&Имя:",         stc6,  16, 20,  46,8
    COMBOBOX                          cmb4,  64, 18, 140,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "Статус:",        stc8,  16, 36,  46,10, SS_NOPREFIX
    LTEXT           "Эмулирован",    stc12, 64, 36, 100,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Тип:",          stc7,  16, 48,  46,10, SS_NOPREFIX
    LTEXT           "Эмулирован",     stc11, 64, 48, 100,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Место:",         stc10, 16, 60,  46,10, SS_NOPREFIX
    LTEXT           "Эмулировано", stc14, 64, 60, 100,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Примечание:",   stc9,  16, 72,  46,10, SS_NOPREFIX
    LTEXT           "Эмулировано",   stc13, 64, 72, 100,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP

    GROUPBOX        "Копии",         grp2, 160, 92, 120,64, WS_GROUP
    LTEXT           "Число &копий:",stc5,168,108,68,8
    ICON            "",               ico3, 162,124,  60,24, WS_GROUP | SS_CENTERIMAGE
    CONTROL         "&Разбить",       chx2,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,230,130,42,12
    EDITTEXT                          edt3, 230,106,  42,12, WS_GROUP | ES_NUMBER

    GROUPBOX        "Печатать",    grp1,   8,92,  144,64, WS_GROUP
    CONTROL         "&Все",           rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,106,64,12
    CONTROL         "&Страницы",         rad3,"Button",BS_AUTORADIOBUTTON,16,122,50,12
    CONTROL         "&Выделение",     rad2,"Button",BS_AUTORADIOBUTTON,16,138,64,12
    EDITTEXT                          edt1,  85,122,  20,12, WS_GROUP | ES_NUMBER
    EDITTEXT                          edt2, 120,122,  20,12, WS_GROUP | ES_NUMBER
    RTEXT           "&от:",         stc2,  70,124,  10,8
    RTEXT           "&до:",           stc3, 106,124,  10,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 "Установки принтера"
FONT 8, "MS Shell Dlg"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,180,156,48,14,WS_GROUP
    PUSHBUTTON      "Отмена",IDCANCEL,232,156,48,14
/*    PUSHBUTTON      "Сеть...", psh5, 284,156,48,14 */

    GROUPBOX        "Принтер",        grp4,   8,  4, 272,84, WS_GROUP
    PUSHBUTTON      "&Свойства",    psh2, 212, 17,  60,14, WS_GROUP
    LTEXT           "&Имя:",         stc6,  16, 20,  36,8
    COMBOBOX                          cmb1,  52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "Статус:",        stc8,  16, 36,  36,10, SS_NOPREFIX
    LTEXT           "Эмулирован",    stc12, 52, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Тип:",          stc7,  16, 48,  36,10, SS_NOPREFIX
    LTEXT           "Эмулирован",     stc11, 52, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Место:",         stc10, 16, 60,  36,10, SS_NOPREFIX
    LTEXT           "Эмулировано", stc14, 52, 60, 36,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Заметки:",       stc9,  16, 72,  36,10, SS_NOPREFIX
    LTEXT           "Эмулированы",   stc13, 52, 72, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP

    GROUPBOX        "Бумага",          grp2,   8, 92, 164,56, WS_GROUP
    LTEXT           "Раз&мер:",         stc2,  16,108,  36, 8
    COMBOBOX                          cmb2,  52,106, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "&Источник:",       stc3,  16,128,  36, 8
    COMBOBOX                          cmb3,  52,126, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP

    GROUPBOX        "Ориентация",    grp1, 180, 92, 100,56, WS_GROUP
    ICON            "",               ico1, 195,112,  18,20, WS_GROUP
    CONTROL         "&Портрет",      rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP |WS_TABSTOP,224,106,52,12
    CONTROL         "Л&андшафт",     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 "Параметры страницы"
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 "Бумага", grp2, 8, 96, 224, 56, BS_GROUPBOX
  LTEXT "&Размер:", stc2, 16, 112, 36, 8
  COMBOBOX cmb2, 64, 110, 160, 160, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL
  LTEXT "Пода&ча:", stc3, 16, 132, 36, 8
  COMBOBOX cmb3, 64, 130, 160, 160, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL
  GROUPBOX "Ориентация", grp1, 8, 156, 64, 56, BS_GROUPBOX
  AUTORADIOBUTTON "К&нижная", rad1, 16, 170, 52, 12, BS_AUTORADIOBUTTON
  AUTORADIOBUTTON "Аль&бомная", rad2, 16, 190, 52, 12, BS_AUTORADIOBUTTON
  GROUPBOX "Поля", grp4, 80, 156, 152, 56, BS_GROUPBOX
  LTEXT "&Слева:", stc15, 88, 172, 31, 8
  EDITTEXT edt4, 121, 170, 29, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  LTEXT "С&верху:", stc16, 159, 172, 27, 8
  EDITTEXT edt6, 187, 170, 29, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  LTEXT "Спр&ава:", stc17, 88, 192, 31, 8
  EDITTEXT edt5, 121, 190, 29, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  LTEXT "Сни&зу:", stc18, 159, 192, 23, 8
  EDITTEXT edt7, 187, 190, 29, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  DEFPUSHBUTTON "ОК", IDOK, 71, 220, 50, 14, BS_PUSHBUTTON
  PUSHBUTTON "Отмена", IDCANCEL, 126, 220, 50, 14
  PUSHBUTTON "&Принтер...", 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 "Открыть"
FONT 8, "MS Shell Dlg"
{
    LTEXT	"Искать &в",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	"Имя &файла:",IDC_FILENAMESTATIC,5,112,46,8, SS_NOTIFY
    EDITTEXT	IDC_FILENAME,54,110,155,12,ES_AUTOHSCROLL

    LTEXT	"&Тип файлов:",IDC_FILETYPESTATIC,5,128,42,8, SS_NOTIFY
    COMBOBOX	IDC_FILETYPE,54,126,155,53,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP

    CONTROL	"Только для &чтения",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,145,100,10

    DEFPUSHBUTTON	"&Открыть",		 IDOK,222,110,50,14
    PUSHBUTTON		"Отмена",		 IDCANCEL,222,128,50,14
    PUSHBUTTON		"&Справка",		 pshHelp,222,145,50,14
}

STRINGTABLE DISCARDABLE
{
    IDS_ABOUTBOX            "&О тесте ВыборПапки"
    IDS_DOCUMENTFOLDERS     "Папки документов"
    IDS_PERSONAL            "Мои документы"
    IDS_FAVORITES           "Избранное"
    IDS_PATH                "Системный путь"
    IDS_DESKTOP             "Рабочий стол"
    IDS_FONTS               "Шрифты"
    IDS_MYCOMPUTER          "Мой компьютер"
}

STRINGTABLE DISCARDABLE
{
    IDS_SYSTEMFOLDERS       "Системные папки"
    IDS_LOCALHARDRIVES      "Локальные жесткие диски"
    IDS_FILENOTFOUND        "Файл не найден"
    IDS_VERIFYFILE          "Проверьте, правильно ли указано имя файла"
    IDS_CREATEFILE          "Файла не существует\nХотите ли Вы его создать?"
    IDS_OVERWRITEFILE       "Файл уже существует.\nЗаменить его?"
    IDS_INVALID_FILENAME_TITLE "Некорректный символ в записи пути"
    IDS_INVALID_FILENAME    "Имя файла не может содержать следующие символы:\n                          / : < > |"
    IDS_PATHNOTEXISTING     "Путь не существует"
    IDS_FILENOTEXISTING     "Файл не существует"
}

STRINGTABLE DISCARDABLE
{
    IDS_UPFOLDER         "Вверх на один уровень"
    IDS_NEWFOLDER        "Создать новую папку"
    IDS_LISTVIEW         "Список"
    IDS_REPORTVIEW       "Подробности"
    IDS_TODESKTOP        "Переход на рабочий стол"
}

STRINGTABLE DISCARDABLE
{
    PD32_PRINT_TITLE       "Печать"

    PD32_VALUE_UREADABLE                  "Нечитаемый элемент"
    PD32_INVALID_PAGE_RANGE "Это значение не лежит внутри диапазона страниц\n\
Введите значение между %d и %d"
    PD32_FROM_NOT_ABOVE_TO                "Значение ОТ не должно превышать ДО:"
    PD32_MARGINS_OVERLAP                  "Границы перекрывают или превышают \
размеры бумаги.\nВведите их заново"
    PD32_NR_OF_COPIES_EMPTY               "Значение Числа Копий не может быть \
пустым"
    PD32_TOO_LARGE_COPIES                 "Такое большое количество копий не \
может быть напечатано Вашим принтером.\nВведите значение между 1 и %d"
    PD32_PRINT_ERROR                      "Произошла ошибка принтера"
    PD32_NO_DEFAULT_PRINTER               "Нет принтера, установленного по умолчанию"
    PD32_CANT_FIND_PRINTER                "Не удалось найти принтер"
    PD32_OUT_OF_MEMORY                    "Мало памяти"
    PD32_GENERIC_ERROR                    "Произошла(и) ошибка(и)"
    PD32_DRIVER_UNKNOWN                   "Неизвестный драйвер принтера"
    PD32_NO_DEVICES                       "Отсутствуют принтеры в системе. \
Проверьте, что хотя бы один принтер установлен и система печати запущена. \
"

    PD32_DEFAULT_PRINTER                  "Принтер по умолчанию; "
    PD32_NR_OF_DOCUMENTS_IN_QUEUE         "%d документов в очереди"
    PD32_MARGINS_IN_INCHES                "Границы [дюймы)"
    PD32_MARGINS_IN_MILLIMETERS           "Границы [мм]"
    PD32_MILLIMETERS                      "мм"

    PD32_PRINTER_STATUS_READY             "Готово"
    PD32_PRINTER_STATUS_PAUSED            "Приостановлено; "
    PD32_PRINTER_STATUS_ERROR             "Ошибка; "
    PD32_PRINTER_STATUS_PENDING_DELETION  "Ожидание удаления; "
    PD32_PRINTER_STATUS_PAPER_JAM         "Бумага застряла; "
    PD32_PRINTER_STATUS_PAPER_OUT         "Не хватает бумаги; "
    PD32_PRINTER_STATUS_MANUAL_FEED       "Вставьте бумагу вручную; "
    PD32_PRINTER_STATUS_PAPER_PROBLEM     "Проблема с бумагой; "
    PD32_PRINTER_STATUS_OFFLINE           "Принтер в режиме offline; "
    PD32_PRINTER_STATUS_IO_ACTIVE         "Ввод/Вывод активен; "
    PD32_PRINTER_STATUS_BUSY              "Занят; "
    PD32_PRINTER_STATUS_PRINTING          "Идет печать; "
    PD32_PRINTER_STATUS_OUTPUT_BIN_FULL   "Лоток переполнен бумагой; "
    PD32_PRINTER_STATUS_NOT_AVAILABLE     "Не доступен; "
    PD32_PRINTER_STATUS_WAITING           "Ожидание; "
    PD32_PRINTER_STATUS_PROCESSING        "Обработка; "
    PD32_PRINTER_STATUS_INITIALIZING      "Подготовка; "
    PD32_PRINTER_STATUS_WARMING_UP        "Прогрев; "
    PD32_PRINTER_STATUS_TONER_LOW         "Тонер на исходе; "
    PD32_PRINTER_STATUS_NO_TONER          "Нет тонера; "
    PD32_PRINTER_STATUS_PAGE_PUNT         "Page punt; "
    PD32_PRINTER_STATUS_USER_INTERVENTION "Прервано пользователем; "
    PD32_PRINTER_STATUS_OUT_OF_MEMORY     "Мало памяти; "
    PD32_PRINTER_STATUS_DOOR_OPEN         "Крышка принтера открыта; "
    PD32_PRINTER_STATUS_SERVER_UNKNOWN    "Неизвестный сервер принтера; "
    PD32_PRINTER_STATUS_POWER_SAVE        "Питание в безопасном режиме; "
}

STRINGTABLE DISCARDABLE /* Font styles */
{
    IDS_FONT_REGULAR       "Нормальный"
    IDS_FONT_BOLD          "Жирный"
    IDS_FONT_ITALIC        "Курсив"
    IDS_FONT_BOLD_ITALIC   "Жирный курсив"
}

STRINGTABLE DISCARDABLE /* Color names */
{
    IDS_COLOR_BLACK     "Чёрный"
    IDS_COLOR_MAROON    "Тёмно-бордовый"
    IDS_COLOR_GREEN     "Зелёный"
    IDS_COLOR_OLIVE     "Оливковый"
    IDS_COLOR_NAVY      "Тёмно-синий"
    IDS_COLOR_PURPLE    "Пурпурный"
    IDS_COLOR_TEAL      "Морской волны"
    IDS_COLOR_GRAY      "Серый"
    IDS_COLOR_SILVER    "Серебряный"
    IDS_COLOR_RED       "Красный"
    IDS_COLOR_LIME      "Лимонный"
    IDS_COLOR_YELLOW    "Жёлтый"
    IDS_COLOR_BLUE      "Синий"
    IDS_COLOR_FUCHSIA   "Ярко-розовый"
    IDS_COLOR_AQUA      "Голубой"
    IDS_COLOR_WHITE     "Белый"
}

STRINGTABLE DISCARDABLE
{
    IDS_FONT_SIZE   "Выберите шрифт размером %d - %d пунктов."
    IDS_SAVE_BUTTON "&Сохранить"
    IDS_SAVE_IN     "Сохранить &в:"
    IDS_SAVE        "Сохранить"
    IDS_SAVE_AS     "Сохранить как"
    IDS_OPEN_FILE   "Открыть файл"
}
