|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Using Status Windows
The following example creates a status window that has a sizing grip and divides the window into four equal parts based on the width of the parent window's client area.
// DoCreateStatusWindow - creates a status window and divides it into // the specified number of parts. // Returns the handle to the status window. // hwndParent - parent window for the status window // nStatusID - child window identifier // hinst - handle to the application instance // nParts - number of parts into which to divide the status window HWND DoCreateStatusWindow(HWND hwndParent, int nStatusID, HINSTANCE hinst, int nParts) { HWND hwndStatus;
RECT rcClient; HLOCAL hloc; LPINT lpParts; int i, nWidth; // Ensure that the common control DLL is loaded. InitCommonControls(); // Create the status window. hwndStatus = CreateWindowEx( 0, // no extended styles STATUSCLASSNAME, // name of status window class (LPCTSTR) NULL, // no text when first created SBARS_SIZEGRIP | // includes a sizing grip
WS_CHILD, // creates a child window 0, 0, 0, 0, // ignores size and position hwndParent, // handle to parent window (HMENU) nStatusID, // child window identifier hinst, // handle to application instance NULL); // no window creation data // Get the coordinates of the parent window's client area. GetClientRect(hwndParent, &rcClient);
// Allocate an array for holding the right edge coordinates. hloc = LocalAlloc(LHND, sizeof(int) * nParts); lpParts = LocalLock(hloc); // Calculate the right edge coordinate for each part, and // copy the coordinates to the array. nWidth = rcClient.right / nParts; for (i = 0; i < nParts; i++) { lpParts[i] = nWidth; nWidth += nWidth; } // Tell the status window to create the window parts. SendMessage(hwndStatus, SB_SETPARTS, (WPARAM) nParts,
(LPARAM) lpParts); // Free the array, and return. LocalUnlock(hloc); LocalFree(hloc); return hwndStatus; }
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Использование Окна Статуса
Следующий пример создает окно статуса, которое имеет калибровку захватывать и делит окно в четыре равных частей основанной на ширине области клиента родительского окна.
// DoCreateStatusWindow - СОЗДАЕТ окно статуса и делит это в // определенное количество частей. // Возврат ручка в окно статуса. // hwndParent - Родительское окно для окна / статуса/ nStatusID - идентификатор / окно ребенка/ hinst - ручка в прикладной пример // nParts - количество частей в которые, чтобы делить окно статуса HWND DoCreateStatusWindow(HWND hwndParent, int nStatusID, HINSTANCE hinst, int nParts) { HWND hwndStatus;
RECT rcClient; HLOCAL hloc; LPINT lpParts; int я, nWidth; // Проверьте, что общее управление DLL загружено. InitCommonControls(); // Создайте окно статуса. hwndStatus = CreateWindowEx( 0, // Никакие расширенные стили STATUSCLASSNAME, // имя класса окна статуса (LPCTSTR) НЕДЕЙСТВИТЕЛЬНОГО, // никакого текста когда сначала создано SBARS_SIZEGRIP | // включает калибровку зажима
WS_CHILD, // создает окно ребенка 0, 0, 0, 0, // игнорирует размер и позиционирует hwndParent, // ручке в родительское окно (HMENU) nStatusID, // идентификатор окна ребенка hinst, // ручка в прикладной пример НЕДЕЙСТВИТЕЛЬНЫЙ); // никакие данные создания окна // Получите координаты области клиента родительского окна. GetClientRect(hwndParent, &rcClient);
// Распределите массив для хранения краевых координат права. hloc = LocalAlloc(LHND, sizeof(int) * nParts); lpParts = LocalLock(hloc); // Вычислите краевую координату права для каждой части, и // копия координаты в массив. nWidth = rcClient.right / nParts; для (i = 0; я < nParts; я++) { lpParts[i] = nWidth; nWidth += nWidth; } // Сообщите окно статуса, чтобы создавать части окна. SendMessage(hwndStatus, SB_SETPARTS, (WPARAM) nParts,
(LPARAM) lpParts); // Свободный массив, и возврат. LocalUnlock(hloc); LocalFree(hloc); возвращайте hwndStatus; }
|
|
|
|
| |