ΠΠ΅ΡΠΎΠ΄ Create Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ»ΠΈ Π½ΡΠ»Ρ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π½Π°Π΄ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΡΡΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄ LoadToolBar ΠΊΠ»Π°ΡΡΠ° CToolBar. ΠΠ΅ΡΠΎΠ΄ LoadToolBar ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
BOOL LoadToolBar(LPCTSTR lpszResourceName);
BOOL LoadToolBar(UINT nIDResource);
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° lpszResourceName ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΡΠ΅ΡΡΡΡΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΡΡΡΡΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΡΠΎΡΠΎΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° nIDResource.
ΠΡΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΡΡΡΡΠ° ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΌΠ΅ΡΠΎΠ΄ LoadToolBar Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΡΠ»Ρ.
Π Microsoft Visual C++ Π²Π΅ΡΡΠΈΠΈ 2.Ρ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΡΠ΅ΡΡΡΡ ΡΠΈΠΏΠ° toolbar ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° Π² ΡΠ°ΠΉΠ»Π΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π Π²ΠΌΠ΅ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° LoadToolBar ΠΊΠ»Π°ΡΡΠ° CToolBar ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π²ΡΠ·ΠΎΠ²Ρ Π΄Π²ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ»Π°ΡΡΠ° β LoadBitmap ΠΈ SetButtons.
ΠΠ΅ΡΠΎΠ΄ LoadBitmap Π·Π°Π³ΡΡΠΆΠ°Π» ΠΈΠ· ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π° ΠΌΠ΅ΡΠΎΠ΄ SetButtons ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΅Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ toolbar ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ LoadToolBar, ΡΠΎ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°Ρ LoadBitmap ΠΈ SetButtons.
ΠΠ° ΡΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΠΌ. Π’Π΅ΠΏΠ΅ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΠΈΡ ΠΈΠ·ΡΡΠΈΡΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° CToolBar ΠΈ Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° CControlBar , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ΅ΡΠΎΠ΄ SetBarStyle ΠΊΠ»Π°ΡΡΠ° CControlBarΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ dwStyle ΠΌΠ΅ΡΠΎΠ΄Π° Create. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠΆΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ SetBarStyle. ΠΠ΅ΡΠΎΠ΄ SetBarStyle ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΠΊΠ»Π°ΡΡΠ΅ CControlBar, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° CToolBar:
void SetBarStyle(DWORD dwStyle);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ dwStyle Π·Π°Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ»Π°Π³ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅.
Π€Π»Π°Π³ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ CBRS_ALIGN_TOP ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΊΠΎΠ²Π°ΡΡ ΠΊ Π²Π΅ΡΡ Π½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΎΠΊΠ½Π° CBRS_ALIGN_BOTTOM ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΊΠΎΠ²Π°ΡΡ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΎΠΊΠ½Π° CBRS_ALIGN_LEFT ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΊΠΎΠ²Π°ΡΡ ΠΊ Π»Π΅Π²ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΎΠΊΠ½Π° CBRS_ALIGN_RIGHT ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΊΠΎΠ²Π°ΡΡ ΠΊ ΠΏΡΠ°Π²ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΎΠΊΠ½Π° CBRS_ALIGN_ANY ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΊΠΎΠ²Π°ΡΡ ΠΊ Π»ΡΠ±ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΎΠΊΠ½Π° CBRS_TOOLTIPS ΠΠ»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΈΡ ΠΊΡΠ°ΡΠΊΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π² ΠΎΠΊΠ½Π°Ρ tool tips CBRS_FLYBY ΠΠ°Π½Π΅Π»Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΠ΅ΡΠΎΠ΄ GetBarStyle ΠΊΠ»Π°ΡΡΠ° CControlBarΠ§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ GetBarStyle ΠΊΠ»Π°ΡΡΠ° CControlBar. ΠΠ΅ΡΠΎΠ΄ GetBarStyle Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ»Π°Π³ΠΎΠ². ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ»Π°Π³ΠΎΠ² ΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΡΡΠ΅, Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° SetBarStyle:
DWORD GetBarStyle();
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Bar, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ.
ΠΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠ°Π½Π΅Π»ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ MFC AppWizard. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ MFC AppWizard, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΎΡΠ΅Π½ ΡΡΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ Π²Π·ΡΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ Π²Π°ΡΠΈΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ Π²Π·Π³Π»ΡΠ΄ΠΎΠΌ. ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ MFStart Ρ ΠΎΠ΄Π½ΠΈΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π½Π°ΠΌΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΡΠ΅ΡΠΈΠΈ βΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°β, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Microsoft Visual C++ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠΎΠ² MFC.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ MFC AppWizard, ΡΠΎ Π²Π°ΠΌ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ClassWizard. Π‘Π΅ΠΉΡΠ°Ρ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π΄ΠΈ ΠΏΡΠΎΡΡΠΎΡΡ Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Bar. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Type ΡΡΡΠΎΠΊΡ Application. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ· ΠΌΠ΅Π½Ρ Build ΡΡΡΠΎΠΊΡ Settings ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ <Alt+F7>. ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ Project Settings. Π ΡΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ General. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Microsoft Foundation Classes ΡΡΡΠΎΠΊΡ Use MFC in a Shared Dll ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ Use MFC in a Static Library. ΠΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Microsoft Visual C++, ΡΡΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ MFC.
ΠΠ°Π±Π΅ΡΠΈΡΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ Bar.cpp (Π»ΠΈΡΡΠΈΠ½Π³ 3.4). ΠΠ°ΡΠ΅ΠΌ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΌΡ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π²Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΈΡΡΠΈΠ½Π³ 3.4. Π€Π°ΠΉΠ» Bar.cpp//============================================================
// ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Bar
// (c) Frolov G.V., 1996
// E-mail: [email protected]
//============================================================
// ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ·
// Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
#define VC_EXTRALEAN
// ΠΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ MFC
#include <afxwin.h>
#include <afxext.h>
#include <afxcmn.h>
// ΠΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
#include "resource.h"
//============================================================
// ΠΠ»Π°ΡΡ CBarApp - Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
//============================================================
class CBarApp : public CWinApp {
public:
// ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ InitInstance,
// ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
virtual BOOL InitInstance();
};
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° CBarApp
CBarApp MyBarApp;
//============================================================
// ΠΠ»Π°ΡΡ CBarWindow - ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
//============================================================
class CBarWindow : public CFrameWnd {
protected: // control bar embedded members
CToolBar m_wndToolBar;
protected:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
public:
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° CBarWindow
CBarWindow();
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠ΅Π½Ρ
afx_msg void BarCommand();
// ΠΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡ
// CBarWindow ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
DECLARE_MESSAGE_MAP()
};
//============================================================
// ΠΠ΅ΡΠΎΠ΄ BarCommand
// ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ID_TEST_BEEP
//============================================================
void CBarWindow::BarCommand() {
MessageBox("Command not implemented");
}
//============================================================
// Π’Π°Π±Π»ΠΈΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡΠ° CBarWindow
//============================================================
BEGIN_MESSAGE_MAP(CBarWindow, CFrameWnd)
ON_WM_CREATE()
ON_COMMAND(ID_FILE_OPEN, CBarWindow::BarCommand)
ON_COMMAND(ID_FILE_SAVE, CBarWindow::BarCommand)
ON_COMMAND(ID_TOOL_EXIT, CBarWindow::BarCommand)
END_MESSAGE_MAP()
//============================================================
// ΠΠ΅ΡΠΎΠ΄ InitInstance ΠΊΠ»Π°ΡΡΠ° CBarApp
//============================================================
BOOL CBarApp::InitInstance() {
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° CBarWindow
m_pMainWnd = new CBarWindow();
// ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅
m_pMainWnd->ShowWindow(m_nCmdShow);
// ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠΊΠ½Π°
m_pMainWnd->UpdateWindow();
return TRUE;
}
//============================================================
// ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° CBarWindow
//============================================================
CBarWindow::CBarWindow() {
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅
// Π΄Π°Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° CBarWindow
Create(NULL, "Hello MFC", WS_OVERLAPPEDWINDOW, rectDefault, NULL);
}