Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Microsoft Visual C++ ΠΈ MFC. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Windows 95 ΠΈ Windows NT. Π§Π°ΡΡ‚ΡŒ 2Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 27

Автор АлСксандр Π€Ρ€ΠΎΠ»ΠΎΠ²

 Create(NULL, "Hello MFC", WS_OVERLAPPEDWINDOW, rectDefault, NULL);

}


//============================================================

// ΠœΠ΅Ρ‚ΠΎΠ΄ OnCreate класса CBarWindow

// ВызываСтся Π²ΠΎ врСмя создания ΠΎΠΊΠ½Π° прилоТСния

//============================================================

int CBarWindow::OnCreate(LPCREATESTRUCT lpCreateStruct) {

 // Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ OnCreate Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса

 if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1;


 // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ панСль управлСния toolbar. Π’ качСствС

 // Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ CBarWindow

 if (!m_wndToolBar.Create(this)) {

  // Ошибка ΠΏΡ€ΠΈ создании ΠΏΠ°Π½Π΅Π»ΠΈ управлСния

  TRACE0("Failed to create toolbar\n");

  return -1;

 }


 if (!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) {

  // Ошибка ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ рСсурса ΠΏΠ°Π½Π΅Π»ΠΈ управлСния

  TRACE0("Failed to load toolbar\n");

  return -1;

 }


 return 0;

}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ рСсурс ΠΏΠ°Π½Π΅Π»ΠΈ управлСния toolbar. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это нСсколькими способами – ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ панСль управлСния β€œΡ нуля” ΠΈΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ панСль управлСния ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· прилоТСния Multi, прСдставлСнного Π² Π³Π»Π°Π²Π΅ β€œΠœΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½ΠΎΠ΅ прилоТСниС”.

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния, создайтС Ρ„Π°ΠΉΠ» рСсурсов ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Для этого Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· мСню File строку New. Из ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ New Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ строку Resource Script ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ OK. Π‘ΡƒΠ΄Π΅Ρ‚ создан пустой Ρ„Π°ΠΉΠ» рСсурсов. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ прилоТСния ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Bar.rc ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· мСню Insert строку Resource, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Insert Resource Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ строку Toolbar ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ OK.

Запустится Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ рСсурсов ΠΈ Π² Π½Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° новая панСль управлСния. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ панСль управлСния, постСпСнно добавляя ΠΊ Π½Π΅ΠΉ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ нарисуйтС Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ присвойтС Π΅ΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ строку описания (см. Ρ€Π°Π·Π΄Π΅Π» β€œΠ Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния”).

ΠŸΡ€ΠΈ создании ΠΏΠ°Π½Π΅Π»Π΅ΠΉ управлСния Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° рСсурсов прилоТСния Bar (листинг 3.5) ΠΈ изобраТСниями ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ управлСния (рис. 3.9).

ПанСль управлСния прилоТСния Bar Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ IDR_MAINFRAME. Π’ Π½Π΅ΠΉ слСдуСт Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π΅Π²ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ID_FILE_NEW, ID_FILE_OPEN, ID_FILE_SAVE, ID_EDIT_CUT, ID_EDIT_COPY, ID_EDIT_PASTE, ID_FILE_PRINT, ID_APP_ABOUT ΠΈ ID_TOOL_EXIT.

ΠœΠ΅ΠΆΠ΄Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ID_FILE_SAVE ΠΈ ID_EDIT_CUT, ID_EDIT_PASTE ΠΈ ID_FILE_PRINT, Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти ΠΈΡ… тСкстовыС описания.

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» рСсурсов.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния прилоТСния Bar, ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π·Π° основу ΠΏΠ°Π½Π΅Π»ΠΈ управлСния рСсурс toolbar прилоТСния Multi, созданного с использованиСм срСдств MFC AppWizard. ΠœΡ‹ описывали ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Multi Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ β€œΠœΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½ΠΎΠ΅ прилоТСниС”.

НС закрывая ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Bar ΠΈ Ρ„Π°ΠΉΠ» рСсурсов Bar.rc, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» рСсурсов прилоТСния Multi. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ панСль управлСния toolbar ΠΈ Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π΅ Π² Π±ΡƒΡ„Π΅Ρ€ clipboard. Π—Π°Ρ‚Π΅ΠΌ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ эту панСль Π² Ρ„Π°ΠΉΠ» рСсурсов прилоТСния Bar – Bar.rc.

ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ toolbar, изобраТСния ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΈ тСкстовыС описания Π±Π΅Π· измСнСния. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΈ присвойтС Π΅ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ IDTOOLEXIT. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ тСкстовоС описаниС ΠΊΠ½ΠΎΠΏΠΊΠΈ – строку Exit\nExit.

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» рСсурсов прилоТСния Bar ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» рСсурсов прилоТСния Multi Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст Ρ„Π°ΠΉΠ»Π° рСсурсов Bar.rc прСдставлСн Π² листингС 3.5.

Листинг 3.5. Π€Π°ΠΉΠ» Bar.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


//////////////////////////////////////////////////////////////

//

// Russian resources


#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)

#ifdef _WIN32

LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT

#pragma code_page(1251)

#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

 "\r\n"

 "\0"

END


#endif    // APSTUDIO_INVOKED


#endif    // Russian resources

//////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////

// 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


//////////////////////////////////////////////////////////////

//

// 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

 BUTTON ID_TOOL_EXIT

END


//////////////////////////////////////////////////////////////

//

// Bitmap

//

IDR_MAINFRAME BITMAP MOVEABLE PURE "res\\Toolbar.bmp"


//////////////////////////////////////////////////////////////

//

// String Table

//


STRINGTABLE DISCARDABLE

BEGIN

 ID_TOOL_EXIT "Exit\nExit"

END


#endif // English (U.S.) resources

//////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED

//////////////////////////////////////////////////////////////

// Generated from the TEXTINCLUDE 3 resource.

//


//////////////////////////////////////////////////////////////

#endif // not APSTUDIO_INVOKED

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ всСх рСсурсов прилоТСния Bar ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»Π΅ resource.h. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» создаСтся автоматичСски Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ рСсурсов Microsoft Visual C++ (листинг 3.6).

Листинг 3.6. Π€Π°ΠΉΠ» resource.h

//{{NO_DEPENDENCIES}}

// Microsoft Developer Studio generated include file.

// Used by Bar.rc

//

#define IDR_HAND_BAR   101

#define IDR_MAINFRAME  128

#define ID_TOOL_EXIT   32771

#define ID_BUTTON40001 40001

#define ID_BUTTON40002 40002

#define ID_BUTTON40003 40003

#define ID_BUTTON40004 40004

#define ID_BUTTON40005 40005

#define ID_FILE_NEW    0xE100

#define ID_FILE_OPEN   0xE101

#define ID_FILE_SAVE   0xE103

#define ID_FILE_PRINT  0xE107

#define ID_EDIT_COPY   0xE122

#define ID_EDIT_CUT    0xE123

#define ID_EDIT_PASTE  0xE125

#define ID_APP_ABOUT   0xE140


// Next default values for new objects

//

#ifdef APSTUDIO_INVOKED

#ifndef APSTUDIO_READONLY_SYMBOLS

#define _APS_NEXT_RESOURCE_VALUE 103

#define _APS_NEXT_COMMAND_VALUE  40006

#define _APS_NEXT_CONTROL_VALUE  1000

#define _APS_NEXT_SYMED_VALUE    101

#endif

#endif

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния IDR_MAINFRAME Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ Toolbar.bmp (рис. 3.11). Π€Π°ΠΉΠ» Toolbar.bmp содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ изобраТСния ΠΊΠ½ΠΎΠΏΠΎΠΊ, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ SEPARATOR Π² Π½Π΅ΠΌ Π½Π΅ прСдставлСны.

Рис. 3.11. Π€Π°ΠΉΠ» Toolbar.bmp с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния


ΠŸΠΎΡΡ‚Ρ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Bar ΠΈ запуститС Π΅Π³ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. На экранС появится Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ прилоТСния, содСрТащСС панСль управлСния (рис. 3.12). ПанСль управлСния нСльзя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто, ΠΎΠ½Π° ТСстко зафиксирована Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π°.

Рис. 3.12. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Bar


ВсС ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Ρ€Π΅Ρ…, нСдоступны ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ сСрым Ρ†Π²Π΅Ρ‚ΠΎΠΌ.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ доступныС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Π½Π° экранС появляСтся сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ данная ΠΊΠΎΠΌΠ°Π½Π΄Π° нСдоступна. Если Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Π½Π° послСднюю ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Как устроСно ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CBarApp

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ строки Ρ„Π°ΠΉΠ»Π° Bar.cpp. Они содСрТат Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ #include, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² исходный тСкст Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° – afxwin.h ΠΈ afxext.h:

// Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» для MFC

#include <afxwin.h>

#include <afxext.h>


// Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» для рСсурсов прилоТСния

#include "resource.h"

Π‘ Ρ„Π°ΠΉΠ»ΠΎΠΌ afxwin.h Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹. Π’ этом Ρ„Π°ΠΉΠ»Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ классы, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, константы ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ структуры для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов MFC. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ„Π°ΠΉΠ» afxwin.h автоматичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» – windows.h.