Ðåñóðñû ïðèëîæåíèÿ Dater
 ôàéëå ðåñóðñîâ ïðèëîæåíèÿ Dater îïðåäåëåíû ìåíþ, ïàíåëü óïðàâëåíèÿ è òàáëèöà êëàâèø àêñåëåðàòîðîâ IDR_MAINFRAME, øàáëîí äèàëîãîâîé ïàíåëè IDD_DATER_FORM, êîòîðûé èñïîëüçóåòñÿ îêíîì ïðîñìîòðà è øàáëîí èíôîðìàöèîííîé ïàíåëè IDD_ABOUTBOX.  ôàéëå ðåñóðñîâ òàêæå ðàñïîëîæåíû ñòðîêîâûå ðåñóðñû, îïèñûâàþùèå ñòðîêè ìåíþ, êíîïêè ïàíåëåé óïðàâëåíèÿ è èíäèêàòîðû ïàíåëè ñîñòîÿíèÿ. Ìû ïðèâåëè èñõîäíûé òåêñò ôàéëà Dater.rc â ëèñòèíãå 5.3.
Ëèñòèíã 5.3. Ôàéë Dater.rc
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
//////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
//////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
//////////////////////////////////////////////////////////////
// English (U.S.) resources
//#if !defined(AFX_RESOURCE_DLL) defined(AFX_TARG_ENU)
//#ifdef _WIN32
//LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//#pragma code_page(1252)
//#endif //_WIN32
#ifdef APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_OLE_RESOURCES\r\n"
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
"\r\n"
"#if !defined(AFX_RESOURCE_DLL)defined(AFX_TARG_ENU)\r\n"
"#ifdef _WIN32\r\n"
"LANGUAGE 9, 1\r\n"
"#pragma code_page(1252)\r\n"
"#endif\r\n"
"#include ""res\\Dater.rc2"" // non-Microsoft Visual C++
// edited resources\r\n"
"#include ""afxres.rc"" // Standard components\r\n"
"#include ""afxdb.rc"" // Database resources\r\n"
"#endif\0"
END
#endif // APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
//
// Icon
//
IDR_MAINFRAME ICON DISCARDABLE "res\\Dater.ico"
IDR_DATERTYPE ICON DISCARDABLE "res\\DaterDoc.ico"
//////////////////////////////////////////////////////////////
//
// Bitmap
//
IDR_MAINFRAME BITMAP MOVEABLE PURE "res\\Toolbar.bmp"
//////////////////////////////////////////////////////////////
//
// Toolbar
//
IDR_MAINFRAME TOOLBAR DISCARDABLE 16, 15
BEGIN
BUTTON ID_EDIT_CUT
BUTTON ID_EDIT_COPY
BUTTON ID_EDIT_PASTE
SEPARATOR
BUTTON ID_FILE_PRINT
SEPARATOR
BUTTON ID_RECORD_FIRST
BUTTON ID_RECORD_PREV
BUTTON ID_RECORD_NEXT
BUTTON ID_RECORD_LAST
SEPARATOR
BUTTON ID_APP_ABOUT
END
//////////////////////////////////////////////////////////////
//
// Menu
//
IDR_MAINFRAME MENU PRELOAD DISCARDABLE
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit", ID_APP_EXIT
END
POPUP "&Edit"
BEGIN
MENUITEM "&Undo\tCtrl+Z", ID_EDIT_UNDO
MENUITEM SEPARATOR
MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT
MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
MENUITEM "&Paste\tCtrl+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", "\0"
VALUE "FileDescription", "DATER MFC Application\0"
VALUE "FileVersion", "1, 0, 0, 1\0"
VALUE "InternalName", "DATER\0"
VALUE "LegalCopyright", "Copyright © 1996\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "DATER.EXE\0"
VALUE "ProductName", "DATER Application\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
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 "Dater\n\nDater\n\n\n
Dater.Document\nDater 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 copyright\nAbout"
ID_APP_EXIT " Quit the application; prompts to save
documents\nExit"
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 pane\nNext Pane"
ID_PREV_PANE "Switch back to the previous window pane\n
Previous Pane"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_WINDOW_SPLIT "Split the active window into panes\nSplit"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_EDIT_CLEAR "Erase the selection\nErase"
ID_EDIT_CLEAR_ALL "Erase everything\nErase All"
ID_EDIT_COPY "Copy the selection and put it on the
Clipboard\nCopy"
ID_EDIT_CUT " Cut the selection and put it on the
Clipboard\nCut"
ID_EDIT_FIND "Find the specified text\nFind"
ID_EDIT_PASTE "Insert Clipboard contents\nPaste"
ID_EDIT_REPEAT "Repeat the last action\nRepeat"
ID_EDIT_REPLACE "Replace specific text with different
text\nReplace"
ID_EDIT_SELECT_ALL "Select the entire document\n
Select All"
ID_EDIT_UNDO "Undo the last action\nUndo"
ID_EDIT_REDO "Redo the previously undone action\nRedo"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_VIEW_TOOLBAR "Show or hide the toolbar\n
Toggle ToolBar"
ID_VIEW_STATUS_BAR "Show or hide the status bar\n
Toggle StatusBar"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_RECORD_FIRST "Move to first record\nFirst Record"
ID_RECORD_LAST "Move to final record\nLast Record"
ID_RECORD_NEXT "Move to next record\nNext Record"
ID_RECORD_PREV "Move to previous record\nPrevious 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 "res\Dater.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 è ñîîòâåòñòâóþùèå èì êíîïêè ïàíåëè óïðàâëåíèÿ. Ýòè ñòðîêè è êíîïêè ïîçâîëÿþò ïðîñìàòðèâàòü â îêíå ïðèëîæåíèÿ âñå çàïèñè áàçû äàííûõ.
Ñòðîêà ìåíþ Record |
Èäåíòèôèêàòîð |
Îïèñàíèå |
First Record |
ID_RECORD_FIRST |
Ïåðåéòè ê ïåðâîé çàïèñè |
Previous Record |
ID_RECORD_PREV |
Ïåðåéòè ê ïðåäûäóùåé çàïèñè |
Next Record |
ID_RECORD_NEXT |
Ïåðåéòè ê ñëåäóþùåé çàïèñè |
Last Record |
ID_RECORD_LAST |
Ïåðåéòè ê ïîñëåäíåé çàïèñè |
Ïî óìîë÷àíèþ, ìåòîä OnMove ñ÷èòûâàåò ñîîòâåòñòâóþùóþ çàïèñü èç áàçû äàííûõ è îòîáðàæàåò çíà÷åíèÿ ïîëåé ýòîé çàïèñè â îêíå ïðîñìîòðà.