ΠΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΡΡ progress bar Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°. Π ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΠΎΠ»ΠΎΡΡ progress bar, ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΅Π΅, ΡΠΊΠ°Π·Π°Π² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΠ°Π½Π΅Π»Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° progress bar ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ². ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΌΠΊΡ Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π² Π½Π΅ΠΌ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΡΡ ΡΠ΅ΠΊΡΡ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Status
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Status. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Type ΡΡΡΠΎΠΊΡ Application. ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Status, ΡΠΊΠ°Π·Π°Π², ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡΠΎΠ² MFC.
ΠΠ°Π±Π΅ΡΠΈΡΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ Status.cpp (Π»ΠΈΡΡΠΈΠ½Π³ 3.13). ΠΠΊΠ»ΡΡΠΈΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» DialogBar.cpp Π² ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΈΡΡΠΈΠ½Π³ 3.13. Π€Π°ΠΉΠ» Status.cpp//============================================================
// ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Status
// (c) Frolov G.V., 1996
// E-mail: [email protected]
//============================================================
// ΠΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ MFC
#include <afxwin.h>
#include <afxext.h>
#include <afxcmn.h>
// ΠΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ²
#include "resource.h"
//============================================================
// ΠΠ»Π°ΡΡ CStateApp β Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
//============================================================
class CStateApp : public CWinApp {
public:
// ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ InitInstance,
// ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
virtual BOOL InitInstance();
};
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° CStateApp
CStateApp StateApp;
//============================================================
// ΠΠ»Π°ΡΡ CStateWindow β ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
//============================================================
class CStateWindow : public CFrameWnd {
protected:
CStatusBar m_wndStatusBar; // ΠΠ°Π½Π΅Π»Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
BOOL bIndicatorTEXT; // Π€Π»Π°Π³ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
// ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ
// ID_INDICATOR_TEXT
protected:
// ΠΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
public:
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° CStateWindow
CStateWindow();
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠ΅Π½Ρ
afx_msg BOOL OnMenuDirectADD_SUB(UINT nID);
afx_msg void OnMenuProcessBar();
afx_msg void OnMenuDisableADD_SUB();
afx_msg void OnMenuSwitchTEXT();
afx_msg void OnMenuExit();
// ΠΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ON_UPDATE_COMMAND_UI
// ΠΎΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ID_INDICATOR_TEXT
afx_msg void OnUpdateTEXT(CCmdUI* pCmdUI);
// ΠΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡ
// CStateWindow ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
DECLARE_MESSAGE_MAP()
};
//============================================================
// Π’Π°Π±Π»ΠΈΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡΠ° CStateWindow
//============================================================
BEGIN_MESSAGE_MAP(CStateWindow, CFrameWnd)
// ΠΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ OnCreate
ON_WM_CREATE()
// ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ON_UPDATE_COMMAND_UI
ON_UPDATE_COMMAND_UI(ID_INDICATOR_TEXT, OnUpdateTEXT)
// ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠ΅Π½Ρ Work
ON_COMMAND(ID_WORK_PROCESS, OnMenuProcessBar)
ON_COMMAND(ID_WORK_DISABLE_ADDSUB, OnMenuDisableADD_SUB)
ON_COMMAND(ID_WORK_ON_SWITCH_TEXT, OnMenuSwitchTEXT)
ON_COMMAND_EX(ID_WORK_DIRECT_ADD, OnMenuDirectADD_SUB)
ON_COMMAND_EX(ID_WORK_DIRECT_SUB, OnMenuDirectADD_SUB)
ON_COMMAND(ID_WORK_EXIT, OnMenuExit)
END_MESSAGE_MAP()
//============================================================
// ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ²
// ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΡΠ΄ΠΊΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π² ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
// (Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ SetPaneInfo)
//============================================================
static UINT indicators[] = {
ID_SEPARATOR, // Π‘Π°ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ
ID_INDICATOR_OVR, // ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ OVR
ID_INDICATOR_PROGRESS, // Π Π΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ
// progress bar
ID_INDICATOR_CAPS, // ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ <Caps Lock>
ID_INDICATOR_NUM, // ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ <Num Lock>
ID_INDICATOR_SCRL, // ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ <Scroll Lock>
ID_INDICATOR_TEXT, // ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ TEXT/PIC
ID_INDICATOR_ADD, // ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ADD/SUB (Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅
// ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ START)
};
//============================================================
// ΠΠ΅ΡΠΎΠ΄ InitInstance ΠΊΠ»Π°ΡΡΠ° CStateApp
// Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅
//============================================================
BOOL CStateApp::InitInstance() {
m_pMainWnd = new CStateWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
//============================================================
// ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° CStateWindow
//============================================================
CStateWindow::CStateWindow() {
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅
// Π΄Π°Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° CStateWindow
Create(NULL, "Status Bar Sample", WS_OVERLAPPEDWINDOW, rectDefault, NULL, MAKEINTRESOURCE(IDR_MENU));
// Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π°Π³Π° bIndicatorTEXT
bIndicatorTEXT = TRUE;
}
//============================================================
// ΠΠ΅ΡΠΎΠ΄ OnMenuProcessBar ΠΊΠ»Π°ΡΡΠ° CStateWindow
//============================================================
void CStateWindow::OnMenuProcessBar() {
// ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ID_INDICATOR_PROGRESS
RECT rectProgress;
m_wndStatusBar.GetItemRect(m_wndStatusBar.CommandToIndex(ID_INDICATOR_PROGRESS), &rectProgress);
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»ΠΎΡΡ progress bar. Π Π°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌ Π΅Π΅
// Π½Π° ΠΌΠ΅ΡΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ID_INDICATOR_PROGRESS
CProgressCtrl ctrlProgressBar;
if (!ctrlProgressBar.Create(WS_CHILD | WS_VISIBLE, rectProgress, &m_wndStatusBar, 1)) {
// ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ progress bar
TRACE0("Failed to create progress bar\n");
return;
}
// Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π³ΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ progress bar
ctrlProgressBar.SetRange(0, 100);
// Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π³ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ progress bar
ctrlProgressBar.SetStep(1);
// ΠΠ»Π°Π²Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ progress bar
for (int i=0; i<100; i++) {
// ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΊΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ
Sleep(10);
// ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ°Π³ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΡ progress bar
ctrlProgressBar.StepIt();
}
// ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡ Π² ΡΠ°ΠΌΠΎΠΌ ΠΏΠ΅ΡΠ²ΠΎΠΌ
// ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
m_wndStatusBar.SetWindowText("Process completed");
}
//============================================================
// ΠΠ΅ΡΠΎΠ΄ OnMenuDirectADD_SUB ΠΊΠ»Π°ΡΡΠ° CStateWindow
//============================================================
BOOL CStateWindow::OnMenuDirectADD_SUB(UINT nID) {
// ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ID_INDICATOR_ADD
int nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_ADD);
// Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°
m_wndStatusBar.SetPaneStyle(nIndex, SBPS_NORMAL);
// ΠΠ· ΠΌΠ΅Π½Ρ Work Π²ΡΠ±ΡΠ°Π½Π° ΡΡΡΠΎΠΊΠ° Direct set ADD
if (nID == ID_WORK_DIRECT_ADD) {
// ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΠΊΡΡ ADD
m_wndStatusBar.SetPaneText(nIndex, "ADD");
}
// ΠΠ· ΠΌΠ΅Π½Ρ Work Π²ΡΠ±ΡΠ°Π½Π° ΡΡΡΠΎΠΊΠ° Direct set SUB
else if(nID == ID_WORK_DIRECT_SUB) {
// ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°
m_wndStatusBar.SetPaneStyle(nIndex, SBPS_POPOUT);
// ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΠΊΡΡ SUB
m_wndStatusBar.SetPaneText(nIndex, "SUB");
}
return TRUE;
}
//============================================================
// ΠΠ΅ΡΠΎΠ΄ OnMenuDisableADD_SUB ΠΊΠ»Π°ΡΡΠ° OnMenuDisableADD_SUB
//============================================================
void CStateWindow::OnMenuDisableADD_SUB() {
// ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ID_INDICATOR_ADD
int nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_ADD);
// ΠΠ»ΠΎΠΊΠΈΡΡΠ΅ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ
m_wndStatusBar.SetPaneStyle(nIndex, SBPS_DISABLED);
}
//============================================================
// ΠΠ΅ΡΠΎΠ΄ OnUpdateTEXT ΠΊΠ»Π°ΡΡΠ° CStateWindow
//============================================================
void CStateWindow::OnMenuSwitchTEXT() {
// ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ»Π°Π³Π° bIndicatorTEXT,
// ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ OnUpdateTEXT
bIndicatorTEXT = !bIndicatorTEXT;
}
//============================================================
// ΠΠ΅ΡΠΎΠ΄ OnMenuExit ΠΊΠ»Π°ΡΡΠ° CStateWindow
//============================================================