Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /////////////////////////////////////////////////////////// Пока не нужно понимать внутреннее устройство этой функции.
- void xPrint(int x, int y, const char *pChar) // Она печатает текст по указанным координатам.
- {
- //
- hdc = GetDC(hWnd);
- SetTextColor(hdc, nColor);
- SetBkColor (hdc, 0);
- (HFONT)SelectObject(hdc, hFont);
- TextOut(hdc, x, y, pChar, strlen(pChar));
- ReleaseDC(hWnd,hdc);
- }
- // https://a-1a.livejournal.com/13655.html Минимальный проект для Windows
- // [email protected] Minimal project for Windows
- //
- // 1 - Функция обработки сообщений от OS Windows. Сообщения будут поступать от мыши, кнопок, таймера и т.д. и здесь
- // обрабатываться Ваими.
- //
- // 2 - WinMain() - это точка входа в программу, как и функция int main() для MS-DOS (или в консольном приложении)
- #include <windows.h> // Подключаем (заголовочный файл ) типы данных и библиотеки функций WinAPI
- HWND hWnd; // хендл ГЛАВНОГО! окна сделан глобальной переменной и будет виден везде
- HINSTANCE hInstance; // Экземпляр этой программы тоже глобально объявлен
- LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) // 1 - смотрите ВЫШЕ.
- {
- switch(message)
- {
- case WM_CREATE: break; // Принимаем однократное сообщение для инициализации
- case WM_DESTROY: PostQuitMessage(0); // Принимаем однократное сообщение для ДЕ_инициализации
- break;
- default: return DefWindowProc(hWnd, message, wParam, lParam); // обработка OS остальных сообщений
- }
- return 0;
- }
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmd, int nCmdShow) // 2 - смотрите ВЫШЕ.
- {
- MSG msg; // Создаём элемент структуры сообщений от OS Windows для нашего приложения
- WNDCLASS WndClass; // Создаём элемент оконной структуры--- сначала регистрируем класс главного окна программы—
- WndClass.style = 0;
- WndClass.lpfnWndProc = WndProc; // адрес (имя) функции окна
- WndClass.cbClsExtra = 0;
- WndClass.cbWndExtra = 0;
- WndClass.hInstance = hInstance; // Дескриптор приложения
- WndClass.hIcon = 0;//LoadIcon(hInstance, "MYICON"); // Загружаем иконку
- WndClass.hCursor = LoadCursor(NULL, IDC_ARROW); // Загружаем тип курсора
- WndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); // Цвет заливки окна выбрали
- WndClass.lpszMenuName = 0;//"xMENU"; // Указываем имя меню
- WndClass.lpszClassName = "dllBridge"; // Придумали сами имя класса окна
- if(!RegisterClass(&WndClass)) return 0; // если класс не зарегистрирован, то выходим (программа не запустилась)
- hWnd = CreateWindow("dllBridge", // Создаем окно класса dllBridge (имя класса сами придумали)
- "Lessons", // заголовок окна (надпись на верхней-синей полосе)
- WS_OVERLAPPEDWINDOW, // стиль окна
- 200, // координата X левого верхнего угла окна
- 100, // координата Y левого верхнего угла окна
- 648, // размеры окна (Ширина)
- 526, // Высота
- NULL, // Дескриптор родительского окна ( нет главного окна программы :)
- NULL, // Дескриптор меню или идентификатор дочернего окна.
- hInstance, // Дескриптор экземпляра приложения
- NULL);
- if(!hWnd) return 0; // если окно не создано, то выходим (программа не запустилась)
- ShowWindow(hWnd, nCmdShow); // отобразить окно на экране
- UpdateWindow(hWnd); // обновить окно
- while(GetMessage(&msg,0,0,0)) // Цикл обработки сообщений
- {
- TranslateMessage(&msg); // Принятие и "проталкивание" сообщений в очереди
- DispatchMessage (&msg);
- }
- return msg.wParam;
- }
Advertisement
Add Comment
Please, Sign In to add comment