Средства разработки приложений


Базовый цикл разработки программ - часть 2


Основой данного элемента служит элемент управления rebar (повторно используемая панель), разработанный для Internet Explorer 3.

Еще одно отличие Windows CE-программ состоит в том, что в масштабах отдельной программы пиктограммы назначаются классам, а не экземплярам окна. Следовательно, два окна одного и того же оконного класса будут иметь одну и ту же пиктограмму. Это не играет особой роли, поскольку пиктограмма окна отображается только на соответствующей кнопке панели задач.

Большинство остальных отличий, не считая уже перечисленных, касается соглашений по программированию, а не ограничений для программ или различий в реализации. Например, окна верхнего уровня в Windows CE могут содержать строки заголовка, в то время как по имеющимся соглашениям это недопустимо. Подобный запрет вызван необходимостью экономии места на крохотных экранах устройств Windows CE. В версиях Windows для настольных систем строка заголовка применяется для перемещения окна по экрану. Такой функции в Windows CE-системах чаще всего нет, так как по умолчанию окна верхнего уровня в Windows CE занимают весь экран.

Здесь уместно упомянуть одну из новинок Windows CE. Начиная с версии Windows CE 2.1 диспетчер окон обзавелся средствами для работы со стандартными окнами переменного размера. Операционная система всегда обеспечивала возможность формирования окон любого фиксированного размера, однако теперь диспетчер окон позволяет окаймлять перекрывающиеся окна рамками, в результате пользователь может менять их размеры. Тем не менее даже на новых профессиональных РПК такое увидишь не часто, поскольку по умолчанию окна верхнего уровня занимают всю площадь экрана, несмотря на его относительно немалые размеры. //============================================================ // TinyCE - Небольшая программа для Windows CE // #include <windows.h> #include <commctrl.h> // подключение линейки команд LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM,LPARAM); TCHAR szAppName[] = TEXT ("TinyCE"); HINSTANCE hInst; //----------------------------------- // Точка входа в программу // int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) { WNDCLASS wc; HWND hWnd; MSG msg; hInst = hInstance; // Регистрируется класс App Main Window memset (&wc, 0, sizeof (wc)); wc.lpfnWndProc = MainWndProc; // Внешний вызов wc.hInstance = hInstance; // Дескриптор владельца wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); wc.lpszClassName = szAppName; // Имя класса окна if (RegisterClass(&wc) == 0) return -1; // Построение главного окна hWnd = CreateWindow (szAppName, // Класс окна szAppName, // Заголовок окна WS_VISIBLE, // Флаги стилей CW_USEDEFAULT, // Позиция по X CW_USEDEFAULT, // Позиция по Y CW_USEDEFAULT, // Исходная ширина CW_USEDEFAULT, // Исходная высота NULL, // Предок NULL, // Меню, должен иметь // значение NULL hInstance, // Экземпляр программы NULL); // Указатель для // создания параметров // В качестве return-значения передается код ошибки, // если окно не построено if (!IsWindow (hWnd)) return -2; // Стандартные вызовы отображения и обновления ShowWindow (hWnd, nCmdShow); UpdateWindow (hWnd); // Цикл обработки сообщений в программе while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } //----------------------------------- // Основная оконная процедура // LRESULT CALLBACK MainWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam) { HWND hwndCB; PAINTSTRUCT ps; RECT rect; HDC hdc; switch (wMsg) { case WM_CREATE: // Создание минимальной панели команд, содержащей только // кнопку Exit.


Начало  Назад  Вперед



Книжный магазин