Π Π΅ΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ MFC AppWizard ΡΠΎΠ·Π΄Π°Π» Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ RecourceView Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Project Workspace. Π Π½Π΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΡΠΈΡ. 1.3).
Π ΠΈΡ. 1.3. ΠΠΊΠ½ΠΎ Project Workspace, ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ ΡΡΠΈ ΡΠ΅ΡΡΡΡΡ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (ΡΠΎΠΌ 24 ΡΠ΅ΡΠΈΠΈ βΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°β). ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ Π² ΡΠΎΡΡΠ°Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π²Ρ ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ². Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π΄Π²Π° ΠΌΠ΅Π½Ρ, Π΄Π²Π΅ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ.
ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ RecourceView Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Project Workspace, Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠ΅. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, MFC AppWizard ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π½Π°ΠΌ Π²Π΅ΡΡΠΈΠΉ Microsoft Visual C++ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ (ΡΠ·ΡΠΊ Π΄Π»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ MFC AppWizard β Step 1, Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ). ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Multi ΠΈ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ MFC AppWizard, ΠΌΡ Π²ΡΠ±ΡΠ°Π»ΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ.
ΠΡΠ»ΠΈ Π²Ρ Π² Control Panel Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Regional Settings Π²ΡΠ±ΡΠ°Π»ΠΈ ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ, ΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ClassWizard ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΊ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½ΠΎΠ²ΡΠ΅ ΠΎΡΠ³Π°Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠΎ ClassWizard Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π² ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΡΠ΅ΡΡΡΡΠ°Ρ , ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΊ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ·ΡΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π² ΠΎΠΊΠ½Π΅ Project Workspace ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΅ΡΡΡΡΠ° ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΠΎΡΠΊΡΡΠ²ΡΠ΅Π³ΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΡΡΡΠΎΠΊΡ Properties. ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π½Π΅ΠΉ ΡΠ·ΡΠΊ ΡΠ΅ΡΡΡΡΠ°, Π²ΡΠ±ΡΠ°Π² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Language ΡΡΡΠΎΠΊΡ Russian.
Π¨Π°Π±Π»ΠΎΠ½ ΠΌΠ΅Π½ΡΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΡΡΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π΄Π²Π° ΠΌΠ΅Π½Ρ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ IDR_MAINFRAME ΠΈ IDR_MULTITYPE. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠΈΡ ΠΌΠ΅Π½Ρ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΎΡΠΊΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π½Π΅Ρ.
ΠΠ΅Π½Ρ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ IDR_MAINFRAME ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ ΠΎΡΠΊΡΡΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠ΅Π½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠΎΠΊΠΈ ΡΡΠΈΡ ΠΌΠ΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ:
//////////////////////////////////////////////////////////////// ΠΠ΅Π½Ρ IDR_MAINFRAME
IDR_MAINFRAME MENU PRELOAD DISCARDABLE
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&New\tCtrl+N", ID_FILE_NEW
MENUITEM "&Open...\tCtrl+O",ID_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "P&rint Setup...", ID_FILE_PRINT_SETUP
MENUITEM SEPARATOR
MENUITEM "Recent File", ID_FILE_MRU_FILE1, GRAYED
MENUITEM SEPARATOR
MENUITEM "E&xit", ID_APP_EXIT
END
POPUP "&View"
BEGIN
MENUITEM "&Toolbar", ID_VIEW_TOOLBAR
MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR
END
POPUP "&Help"
BEGIN
MENUITEM "&About Multi...", ID_APP_ABOUT
END
END
ΠΠ΅Π½Ρ, ΠΈΠΌΠ΅ΡΡΠ΅Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ IDR_MULTITYPE, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΡΠΆΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΡΠ°ΠΉΠ»Π΅ Π½Π° Π΄ΠΈΡΠΊΠ΅.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π² ΡΡΠΎΠΌ ΠΌΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Window, ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ MDI ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
//////////////////////////////////////////////////////////////// ΠΠ΅Π½Ρ IDR_MAINFRAME
IDR_MAINFRAME MENU PRELOAD DISCARDABLE
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&New\tCtrl+N", ID_FILE_NEW
MENUITEM "&Open...\tCtrl+O", ID_FILE_OPEN
MENUITEM SEPARATOR
MENUITEM "P&rint Setup...", ID_FILE_PRINT_SETUP
MENUITEM SEPARATOR
MENUITEM "Recent File", ID_FILE_MRU_FILE1, GRAYED
MENUITEM SEPARATOR
MENUITEM "E&xit", ID_APP_EXIT
END
POPUP "&View"
BEGIN
MENUITEM "&Toolbar", ID_VIEW_TOOLBAR
MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR
END
POPUP "&Help"
BEGIN
MENUITEM "&About Multi...", ID_APP_ABOUT
END
END
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Multi ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ MFC. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ID_FILENEW ΠΎΡ ΡΡΡΠΎΠΊΠΈ New ΠΌΠ΅Π½Ρ File, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ OnFileNew ΠΊΠ»Π°ΡΡΠ° CWinApp. ΠΡ ΡΠΆΠ΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ Π² 24 ΡΠΎΠΌΠ΅ ΠΈΠ· ΡΠ΅ΡΠΈΠΈ βΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°β. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Microsoft Visual C++.
Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΌΡ ΠΏΠΎΡΠ²ΡΡΠΈΠ»ΠΈ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π³Π»Π°Π²Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ βΠΠ΅Π½Ρ, ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡβ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅Π½Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² 13 ΡΠΎΠΌΠ΅ ΡΠ΅ΡΠΈΠΈ βΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°β.
ΠΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Π ΡΠ°ΠΉΠ»Π΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Multi ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π΄Π²Π΅ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ IDR_MULTITYPE ΠΈ IDR_MAINFRAME. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎ Π΄Π²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 32Γ32 ΠΈ 16Γ16 ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ². ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΎΠ΄Π½ΠΎΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. ΠΠ»Ρ ΠΎΠ΄Π½ΠΎΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, Π½Π°Π·ΡΠ²Π°Π»Π°ΡΡ IDR_SINGLETYPE, Π° Π½Π΅ IDR_MULTITYPE. Π’Π°ΠΊΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ° Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·-Π·Π° ΡΠ°Π·Π½ΠΈΡΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
//////////////////////////////////////////////////////////////
// ΠΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
IDR_MAINFRAME ICON DISCARDABLE "res\\Multi.ico"
IDR_MULTITYPE ICON DISCARDABLE "res\\MultiDoc.ico"
ΠΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° IDR_MAINFRAME ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ (ΡΠΈΡ. 1.4). ΠΡΠ° ΠΆΠ΅ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π ΠΈΡ. 1.4. ΠΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° IDR_MAINFRAME
ΠΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° IDR_MULTITYPE ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΡΠΈΡ. 1.5). Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΡ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ IDR_MULTITYPE Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
Π ΠΈΡ. 1.5. ΠΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° IDR_MULTITYPE
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΠΌΠ΅Π½Ρ, Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ IDR_MAINFRAME. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠ΅Ρ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π΄Π²ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌ ΡΡΡΠΎΠΊ ΠΈ ΠΌΠ΅Π½Ρ IDR_MAINFRAME ΠΈ ΠΌΠ΅Π½Ρ IDR_MULTITYPE. Π Π²ΠΎΡ Π²ΡΠΎΡΡΠ΅ ΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈΠΌΠ΅ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠ΅Π½Ρ IDR_MULTITYPE. ΠΠΎΠΊΠ° Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π½Π΅ ΠΎΡΠΊΡΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΌΠ΅Π½Ρ IDR_MAINFRAME, ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ΅ΡΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ:
//////////////////////////////////////////////////////////////
// ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Toolbar
IDR_MAINFRAME TOOLBAR DISCARDABLE 16, 15
BEGIN
BUTTON ID_FILE_NEW
BUTTON ID_FILE_OPEN
BUTTON ID_FILE_SAVE
SEPARATOR
BUTTON ID_EDIT_CUT
BUTTON ID_EDIT_COPY
BUTTON ID_EDIT_PASTE
SEPARATOR
BUTTON ID_FILE_PRINT
BUTTON ID_APP_ABOUT
END
ΠΠ±ΡΠ°Π· ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΡΠ°ΠΉΠ»Π΅ Toolbar.bmp, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ res ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠΈΡ. 1.6):
//////////////////////////////////////////////////////////////
// ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Bitmap, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
IDR_MAINFRAME BITMAP MOVEABLE PURE "res\\Toolbar.bmp"
ΠΠ°Π½Π΅Π»ΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΡ ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π³Π»Π°Π²Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ βΠΠ΅Π½Ρ, ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡβ. Π Π½Π΅ΠΉ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ.
Π ΠΈΡ. 1.6. ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
Π’Π°Π±Π»ΠΈΡΠ° Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠΎΠ² IDR_MAINFRAME ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ MFC AppWizard ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ:
//////////////////////////////////////////////////////////////
// Π’Π°Π±Π»ΠΈΡΠ° Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠΎΠ²
IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE
BEGIN
"N", ID_FILE_NEW, VIRTKEY,CONTROL
"O", ID_FILE_OPEN, VIRTKEY,CONTROL
"S", ID_FILE_SAVE, VIRTKEY,CONTROL
"P", ID_FILE_PRINT, VIRTKEY,CONTROL
"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