Метод |
Описание |
CMultiPaneStatusBarCtrlImpl() |
Конструктор. Не выполняет никакой полезной работы. |
~CMultiPaneStatusBarCtrlImpl() |
Деструктор. Освобождает память, занятую списком идентификаторов панелей. |
HWND Create(HWND hWndParent, LPCTSTR lpstrText, DWORD dwStyle, UINT nID) HWND Create(HWND hWndParent, UINT nTextID, DWORD dwStyle, UINT nID) |
Создают строку состояния. |
BOOL SetPanes(int* pPanes, int nPanes, bool bSetText = true) |
Задаёт набор панелей для строки состояния. При этом предыдущий набор полностью теряется. Массив pPanesсодержит идентификаторы панелей. Начальный размер панели подгоняется под строку из ресурсов, идентификатор которой совпадает с идентификатором панели. Если задан флаг bSetText, текст из ресурсов будет сразу же вставлен в соответствующие панели. |
bool GetPaneTextLength(int nPaneID, int* pcchLength = NULL, int* pnType = NULL) const |
Возвращает длину текста в панели nPaneIDчерез указатель pcchLength. По адресу pnTypeзаписывается тип панели. В Windows определены следующие типы: SBT_NOBORDERS(панель не имеет видимой рамки), SBT_OWNERDRAW(панель отрисовывается родительским окном), SBT_POPOUT(панель выглядит выпуклой на строке состояния) и SBT_RTLREADING(изменяет направление текста на противоположное). Нулевой тип соответствует обычной панели, которая вдавлена в строку состояния. |
BOOL GetPaneText(int nPaneID, LPTSTR lpstrText, int* pcchLength = NULL, int* pnType = NULL) const |
Аналогичен предыдущему, но извлекает также текст панели в буфер lpstrText. |
BOOL SetPaneText(int nPaneID, LPCTSTR lpstrText, int nType = 0) |
Задаёт текст (параметр lpstrText) и тип (параметр nType) для панели nPaneID. |
BOOL SetPaneWidth(int nPaneID, int cxWidth) |
Устанавливает ширину панели nPaneIDравной cxWidth. |
BOOL GetPaneTipText(int nPaneID, LPTSTR lpstrText, int nSize) const |
Извлекает текст всплывающей подсказки для панели nPaneID. |
BOOL SetPaneTipText(int nPaneID, LPCTSTR lpstrText) |
Устанавливает текст всплывающей подсказки для панели nPaneID. |
BOOL GetPaneIcon(int nPaneID, HICON& hIcon) const |
Извлекает хэндл иконки, назначенной панели nPaneID. |
BOOL SetPaneIcon(int nPaneID, HICON hIcon) |
Задаёт иконку для панели nPaneID. |
BOOL UpdatePanesLayout() |
Пересчитывает расположение панелей. Вызывайте этот метод всякий раз, когда вы изменяете размеры панелей с помощью методов SetPanesи SetPaneWidth. |
int GetPaneIndexFromID(int nPaneID) const |
Определяет индекс панели по её идентификатору. Как известно, стандартный status bar использует для работы с панелями индексы. Вам вряд ли потребуется этот метод, поскольку класс CMultiPaneStatusBarпозволяет вам выполнять все необходимые операции по идентификатору панели. Но для полноты картины стоит упомянуть и его. |
И последний важный момент. Всякий раз, когда окно изменяет размер, вы должны посылать строке состояния сообщение WM_SIZE, чтобы она могла скорректировать своё местоположение и размер.
Метод |
Описание |
CWaitCursor(bool bSet = true, LPCTSTR lpstrCursor = IDC_WAIT, bool bSys = true) |
Конструктор. Параметр lpstrCursorзадаёт имя ресурса, из которого следует грузить курсор. Если вы собираетесь использовать системный курсор, параметр bSysустанавливается в true. Наконец, флаг bSetопределяет, следует ли вызывать из конструктора метод Set(см. ниже). |
~CWaitCursor() |
Деструктор. Из него принудительно вызывается метод Restore(см. ниже). |
bool Set() |
Заменяет текущий курсор курсором, заданным в конструкторе. |
bool Restore() |
Восстанавливает старый курсор, который был изменён методом Set. |
Предлагаемые по умолчанию параметры конструктора "заточены" для индикации длительной операции. Использование класса CWaitCursorв этом случае тривиально: