Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - Александр Фролов
Шрифт:
Интервал:
Закладка:
MENUITEM "&CopytCtrl+C", ID_EDIT_COPY
MENUITEM "&PastetCtrl+V", ID_EDIT_PASTE
END
POPUP "&Record"
BEGIN
MENUITEM "&First Record", ID_RECORD_FIRST
MENUITEM "&Previous Record", ID_RECORD_PREV
MENUITEM "&Next Record", ID_RECORD_NEXT
MENUITEM "&Last Record", ID_RECORD_LAST
END
POPUP "&View"
BEGIN
MENUITEM "&Toolbar", ID_VIEW_TOOLBAR
MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR
END
POPUP "&Help"
BEGIN
MENUITEM "&About Dater...", ID_APP_ABOUT
END
END
//////////////////////////////////////////////////////////////
//
// Accelerator
//
IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE
BEGIN
"Z", ID_EDIT_UNDO, VIRTKEY, CONTROL
"X", ID_EDIT_CUT, VIRTKEY, CONTROL
"C", ID_EDIT_COPY, VIRTKEY, CONTROL
"V", ID_EDIT_PASTE, VIRTKEY, CONTROL
VK_BACK, ID_EDIT_UNDO, VIRTKEY, ALT
VK_DELETE, ID_EDIT_CUT, VIRTKEY, SHIFT
VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL
VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT
VK_F6, ID_NEXT_PANE, VIRTKEY
VK_F6, ID_PREV_PANE, VIRTKEY, SHIFT
END
//////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 217, 55
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About Dater"
FONT 8, "MS Sans Serif"
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20
LTEXT "Dater Version 1.0", IDC_STATIC, 40, 10, 119, 8, SS_NOPREFIX
LTEXT "Copyright © 1996", IDC_STATIC, 40, 25, 119, 8
DEFPUSHBUTTON "OK",IDOK,178,7,32,14,WS_GROUP
END
IDD_DATER_FORM DIALOG DISCARDABLE 0, 0, 201, 101
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "E-Mail",IDC_STATIC,5,35,20,8
LTEXT "Priority",IDC_STATIC,5,86,22,8
EDITTEXT IDC_NAME,35,5,160,15,ES_AUTOHSCROLL
LTEXT "Name",IDC_STATIC,5,10,20,8
EDITTEXT IDC_ADDRESS,35,30,160,15,ES_AUTOHSCROLL
EDITTEXT IDC_PRIORITY,35,80,80,15,ES_AUTOHSCROLL
LTEXT "Phone",IDC_STATIC,5,60,22,8
EDITTEXT IDC_PHONE,35,55,80,15,ES_AUTOHSCROLL
END
#ifndef _MAC
//////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "CompanyName", " "
VALUE "FileDescription", "DATER MFC Application "
VALUE "FileVersion", "1, 0, 0, 1 "
VALUE "InternalName", "DATER "
VALUE "LegalCopyright", "Copyright © 1996 "
VALUE "LegalTrademarks", " "
VALUE "OriginalFilename", "DATER.EXE "
VALUE "ProductName", "DATER Application "
VALUE "ProductVersion", "1, 0, 0, 1 "
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // !_MAC
//////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_ABOUTBOX, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 210
TOPMARGIN, 7
BOTTOMMARGIN, 48
END
IDD_DATER_FORM, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 194
TOPMARGIN, 7
BOTTOMMARGIN, 94
END
END
#endif // APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
IDP_FAILED_OPEN_DATABASE "Cannot open database."
END
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
IDR_MAINFRAME "DaternnDaternnnDater.DocumentnDater Document"
END
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
AFX_IDS_APP_TITLE "Dater"
AFX_IDS_IDLEMESSAGE "Ready"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_INDICATOR_EXT "EXT"
ID_INDICATOR_CAPS "CAP"
ID_INDICATOR_NUM "NUM"
ID_INDICATOR_SCRL "SCRL"
ID_INDICATOR_OVR "OVR"
ID_INDICATOR_REC "REC"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_APP_ABOUT "Display program information, version number and copyrightnAbout"
ID_APP_EXIT "Quit the application; prompts to save documentsnExit"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_FILE_MRU_FILE1 "Open this document"
ID_FILE_MRU_FILE2 "Open this document"
//...
ID_FILE_MRU_FILE16 "Open this document"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_NEXT_PANE "Switch to the next window panenNext Pane"
ID_PREV_PANE "Switch back to the previous window panen Previous Pane"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_WINDOW_SPLIT "Split the active window into panesnSplit"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_EDIT_CLEAR "Erase the selectionnErase"
ID_EDIT_CLEAR_ALL "Erase everythingnErase All"
ID_EDIT_COPY "Copy the selection and put it on the ClipboardnCopy"
ID_EDIT_CUT "Cut the selection and put it on the ClipboardnCut"
ID_EDIT_FIND "Find the specified textnFind"
ID_EDIT_PASTE "Insert Clipboard contentsnPaste"
ID_EDIT_REPEAT "Repeat the last actionnRepeat"
ID_EDIT_REPLACE "Replace specific text with different textnReplace"
ID_EDIT_SELECT_ALL "Select the entire documentnSelect All"
ID_EDIT_UNDO "Undo the last actionnUndo"
ID_EDIT_REDO "Redo the previously undone actionnRedo"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_VIEW_TOOLBAR "Show or hide the toolbarnToggle ToolBar"
ID_VIEW_STATUS_BAR "Show or hide the status barnToggle StatusBar"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_RECORD_FIRST "Move to first recordnFirst Record"
ID_RECORD_LAST "Move to final recordnLast Record"
ID_RECORD_NEXT "Move to next recordnNext Record"
ID_RECORD_PREV "Move to previous recordnPrevious Record"
END
STRINGTABLE DISCARDABLE
BEGIN
AFX_IDS_SCSIZE "Change the window size"
AFX_IDS_SCMOVE "Change the window position"
AFX_IDS_SCMINIMIZE "Reduce the window to an icon"
AFX_IDS_SCMAXIMIZE "Enlarge the window to full size"
AFX_IDS_SCNEXTWINDOW "Switch to the next document window"
AFX_IDS_SCPREVWINDOW "Switch to the previous document window"
AFX_IDS_SCCLOSE "Close the active window and prompts to save the documents"
END
STRINGTABLE DISCARDABLE
BEGIN
AFX_IDS_SCRESTORE "Restore the window to normal size"
AFX_IDS_SCTASKLIST "Activate Task List"
END
//#endif // English (U.S.) resources
//////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE 9, 1
#pragma code_page(1252)
#endif
#include "resDater.rc2" // non-Microsoft Visual C++ edited resources
#include "afxres.rc" // Standard components
#include "afxdb.rc" // Database resources
#endif
//////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
Идентификаторы ресурсов приложения Dater определены в файле resource.h. Этот файл создается автоматически редактором ресурсов Microsoft Visual C++. Исходный текст файла resource.h представлен в листинге 3.15.
Листинг 5.4. Файл resource.h//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by Dater.rc
//
#define IDD_ABOUTBOX 100
#define IDD_DATER_FORM 101
#define IDP_FAILED_OPEN_DATABASE 103
#define IDR_MAINFRAME 128
#define IDR_DATERTYPE 129
#define IDC_NAME 1000
#define IDC_ADDRESS 1001
#define IDC_PRIORITY 1002
#define IDC_PHONE 1003
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_3D_CONTROLS 1
#define _APS_NEXT_RESOURCE_VALUE 130
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1004
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Наибольший интерес в файле ресурсов приложения Dater представляют строки меню Record и соответствующие им кнопки панели управления. Эти строки и кнопки позволяют просматривать в окне приложения все записи базы данных.