IDC_COMBO_COLOUR, 0x403, 7, 0, 0x6559, 0x6c6c, 0x776f, "\000"
IDC_COMBO_COLOUR, 0x403, 6, 0, 0x6c42, 0x6361, 0x006b,
IDC_COMBO_COLOUR, 0x403, 6, 0, 0x6857, 0x7469, 0x0065, 0
END
//////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
IDC_RADIO_LEFT "Left radio box"
IDC_RADIO_CENTER "Center radio box"
IDC_RADIO_RIGHT "Right radio box"
IDC_BUTTON_SET "Set button pressed"
END
STRINGTABLE DISCARDABLE
BEGIN
IDC_BUTTON_CLEAR "Clear button pressed"
END
#endif // Russian resources
//////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////
// Generated from the TEXTINCLUDE 3 resource.
//
//////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DialogBar ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΡΠ³Π°Π½ΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ IDD_DIALOG_BAR ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ resource.h. ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΡΠ΅ΡΡΡΡΠΎΠ² Microsoft Visual C++. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠ°ΠΉΠ»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.12.
ΠΠΈΡΡΠΈΠ½Π³ 3.12. Π€Π°ΠΉΠ» resource.h//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by DialogBar.rc
//
#define IDD_DIALOG_BAR 101
#define IDC_RADIO_LEFT 1004
#define IDC_RADIO_CENTER 1005
#define IDC_RADIO_RIGHT 1006
#define IDC_BUTTON_SET 1007
#define IDC_BUTTON_CLEAR 1008
#define IDC_COMBO_COLOUR 1012
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 104
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1014
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
ΠΠΎΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DialogBar ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ. ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΡΠΈΡ. 3.19).
Π ΠΈΡ. 3.19. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DialogBar
ΠΠΎΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ DialogBar. ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° combo-box, ΡΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΎΡΠ³Π°Π½ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DialogBarΠ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ DialogBar ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ° β ΡΡΠΎ Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ CDlgBarApp ΠΈ ΠΊΠ»Π°ΡΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ CDlgBarWindow. ΠΠ°ΠΊ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ Π·Π° Π½ΠΈΠΌ ΡΡΠΎ ΠΏΠΎΡΠ΅ΡΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π²Π½Π΅ΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ MFC AppWizard ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ.
ΠΠ»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ CDlgBarAppΠΠ»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ CDlgBarApp Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° CWinApp. ΠΠ±ΡΠ΅ΠΊΡ DlgBarApp ΠΊΠ»Π°ΡΡΠ° CDlgBarApp ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π ΠΊΠ»Π°ΡΡ CDlgBarApp Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ InitInstance. ΠΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠ»Π°ΡΡΠΎΠΌ CDlgBarWindow, Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° CFrameWnd. ΠΡ Π½Π΅ ΡΡΠ°Π½Π΅ΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Bar ΠΈ MultiBar, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π²ΡΡΠ΅.
ΠΠ»Π°ΡΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ CDlgBarWindowΠΠ»Π°ΡΡ CDlgBarWindow ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΠ΅ ΠΎΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
class CDlgBarWindow : public CFrameWnd {
// ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
protected:
// ΠΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»Π°ΡΡΠ° CDialogBar
CDialogBar m_wndDialogBar;
protected:
// ΠΠ΅ΡΠΎΠ΄ OnCreate ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ
// ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
public:
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° CDlgBarWindow
CDlgBarWindow();
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ
// ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
afx_msg BOOL DlgBarCommand(UINT nID);
afx_msg void DlgBarCombo();
// ΠΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡ
// CDlgBarWindow ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
DECLARE_MESSAGE_MAP()
};
ΠΡΠΎΠΌΠ΅ ΡΡΠ΄Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π² ΠΊΠ»Π°ΡΡ CDlgBarWindow Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ m_wndDialogBar ΠΊΠ»Π°ΡΡΠ° CDialogBar. ΠΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° CDlgBarWindow Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
Π‘Π΅ΠΉΡΠ°Ρ Π΄Π»Ρ Π½Π°Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄ OnCreate, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DialogBar. Π ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡΠ° CDlgBarWindow, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° ON_WM_CREATE. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ OnCreate.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° CDlgBarWindowΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° CDlgBarWindow ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΠΌΠ΅ 24 ΡΠ΅ΡΠΈΠΈ βΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°β, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ MFC, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π½Π° Π½Π΅ΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
Π’Π°Π±Π»ΠΈΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡΠ° CDlgBarWindowΠ’Π°Π±Π»ΠΈΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡΠ° CDlgBarWindow ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π Π½Π΅ΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° ON_WM_CREATE, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ OnCreate Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π°:
ON_WM_CREATE()
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π² Π΅Π΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Set ΠΈ Clear ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Alighn ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄ ON_COMMAND_EX:
// ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Set ΠΈ Clear
ON_COMMAND_EX(IDC_BUTTON_SET, DlgBarCommand)
ON_COMMAND_EX(IDC_BUTTON_CLEAR, DlgBarCommand)
ON_COMMAND_EX(IDC_CHECK1, DlgBarCommand)
// ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Alighn
ON_COMMAND_EX(IDC_RADIO_LEFT, DlgBarCommand)
ON_COMMAND_EX(IDC_RADIO_CENTER, DlgBarCommand)
ON_COMMAND_EX(IDC_RADIO_RIGHT, DlgBarCommand)
ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ DlgBarCommand, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ, Π²ΡΠ·Π²Π°Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΡ ΡΠΏΠΈΡΠΊΠ° combo-box, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΌΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ·Π²Π΅ΡΠ΅Π½ΠΈΡ CBN_SELCHANGE. ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ:
// ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΡΠΏΠΈΡΠΊΠ° combo-box
ON_CBN_SELCHANGE( IDC_COMBO_COLOUR, DlgBarCombo)
ΠΠ΅ΡΠΎΠ΄ OnCreate ΠΊΠ»Π°ΡΡΠ° CDlgBarWindowΠΠ΅ΡΠΎΠ΄ OnCreate ΠΊΠ»Π°ΡΡΠ° CDlgBarWindow ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ OnCreate Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° CFrameWnd:
if (CFrameWnd::OnCreate(lpCreateStruct) == β1) return β1;
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Create Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° m_wndDialogBar, Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π² ΠΊΠ»Π°ΡΡ CDlgBarWindow, ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
if (!m_wndDialogBar.Create(this, IDD_DIALOG_BAR, CBRS_TOP|CBRS_TOOLTIPS, IDD_DIALOG_BAR)) {
TRACE0("Failed to create dialog bar\n");
return -1;
}
return 0;
}
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π΄Π»Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ this ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎ Π΅ΡΡΡ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΎΠΊΠ½ΠΎ CDlgBarWindow.
ΠΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ IDD_DIALOG_BAR.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄Π° Create ΠΌΡ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΡΡΠΈΠ»Ρ CBRS_TOP. Π‘ΡΠΈΠ»Ρ CBRS_TOP ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠΎΠ΄ DlgBarCombo ΠΊΠ»Π°ΡΡΠ° CDlgBarWindowΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° combo-box Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π² Π΅Π΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΡΠΏΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ DlgBarCombo ΠΊΠ»Π°ΡΡΠ° CDlgBarWindow.
ΠΠ΅ΡΠΎΠ΄ DlgBarCombo Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΄Π΅Π»Π°Π» Π²ΡΠ±ΠΎΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° combo-box:
void CDlgBarWindow::DlgBarCombo() {
// ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ Π²ΡΠ±ΠΎΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°
MessageBox("Combo-box selection changed");
}
ΠΠ΅ΡΠΎΠ΄ BarCommand ΠΊΠ»Π°ΡΡΠ° CDlgBarWindowΠΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Set, Clear, ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Alighn ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ BarCommand ΠΊΠ»Π°ΡΡΠ° CDlgBarWindow. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° nID ΠΌΠ΅ΡΠΎΠ΄Ρ BarCommand ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²ΡΠ·Π²Π°Π²ΡΠ΅Π³ΠΎ Π΅Π³ΠΎ ΠΎΡΠ³Π°Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
BOOL CDlgBarWindow::DlgBarCommand(UINT nID) {
//β¦
}
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ Set, Clear, ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ Π³ΡΡΠΏΠΏΡ Alighn, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΈΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ DlgBarCommand ΠΈ Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΠΌΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅: