Форум программистов, компьютерный форум, киберфорум
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
1 / 1 / 0
Регистрация: 19.08.2015
Сообщений: 93
1

Создание простого окна на WinAPI

09.09.2018, 12:58. Показов 3109. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Как будет выглядеть этот исходный код на языке Delphi?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/*WinAPI приложение. Минимальный 
набор функций для отображения окна. 
Эта программа станет базовой заготовкой для всех последующих программ*/ 
 
#include<windows.h>
 
//Создаём прототип функции окна 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); 
//объявляем имя программы 
char szProgName[]="Имя программы"; 
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) 
{ 
HWND hWnd; //идентификатор окна 
MSG lpMsg; 
 
WNDCLASS w; //создаём экземпляр структуры WNDCLASS и начинаем её заполнять 
 
w.lpszClassName=szProgName; //имя программы 
w.hInstance=hInstance; //идентификатор текущего приложения 
w.lpfnWndProc=WndProc; //указатель на функцию окна 
w.hCursor=LoadCursor(NULL, IDC_ARROW); //загружаем курсор в виде стрелки 
w.hIcon=0; //иконки у нас не будет пока 
w.lpszMenuName=0; //и меню пока не будет 
w.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); //цвет фона окна - белый 
w.style=CS_HREDRAW|CS_VREDRAW; //стиль окна - перерисовываемое по х и по у 
w.cbClsExtra=0; 
w.cbWndExtra=0; 
 
//Если не удалось зарегистрировать класс окна - выходим 
if(!RegisterClass(&w)) 
return 0; 
 
//Создадим окно в памяти, заполнив аргументы CreateWindow 
 
hWnd=CreateWindow(szProgName, //Имя программы 
"Моя первая программа! ", //Заголовок окна 
WS_OVERLAPPEDWINDOW, //Стиль окна - перекрывающееся 
100, //положение окна на экране по х 
100, //по у 
500, //размеры по х 
400, //по у 
(HWND)NULL, //идентификатор родительского окна 
(HMENU)NULL, //идентификатор меню 
(HINSTANCE)hInstance, //идентификатор экземпляра программы 
(HINSTANCE)NULL); //отсутствие дополнительных параметров 
 
//Выводим окно из памяти на экран 
ShowWindow(hWnd, nCmdShow); 
//Обновим содержимое окна 
UpdateWindow(hWnd); 
 
//Цикл обработки сообщений 
 
while(GetMessage(&lpMsg, NULL, 0, 0)) { //Получаем сообщение из очереди 
TranslateMessage(&lpMsg); //Преобразуем сообщения клавиш в символы 
DispatchMessage(&lpMsg); //Передаём сообщение соответствующей функции окна 
} 
return(lpMsg.wParam); 
} 
 
//Функция окна 
LRESULT CALLBACK WndProc(HWND hWnd, UINT messg, 
WPARAM wParam, LPARAM lParam) 
{ 
HDC hdc; //создаём контекст устройства 
PAINTSTRUCT ps; //создаём экземпляр структуры графического вывода 
 
//Цикл обработки сообщений 
switch(messg) 
{ 
//сообщение рисования 
case WM_PAINT : 
//начинаем рисовать 
hdc=BeginPaint(hWnd, &ps); 
//здесь вы обычно вставляете свой текст: 
TextOut(hdc, 150,150, "Здравствуй, WIN 32 API!!!!", 26); 
//закругляемся 
//обновляем окно 
ValidateRect(hWnd, NULL); 
//заканчиваем рисовать 
EndPaint(hWnd, &ps); 
break; 
 
//сообщение выхода - разрушение окна 
case WM_DESTROY: 
PostQuitMessage(0); //Посылаем сообщение выхода с кодом 0 - нормальное завершение 
break; 
 
default: 
return(DefWindowProc(hWnd, messg, wParam, lParam)); 
} 
return 0; 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2018, 12:58
Ответы с готовыми решениями:

WinAPI окна
var h: HWND; begin h:=FindWindow('DOS',nil); end; Допкстим у меня в переменной h...

Создание простого окна для программы
Я создал лёгкую программу, но мне не хочется чтобы она выглядела как консоль, хочется видеть её...

Создание простого окна в несколько полей
Это домашнее задание на следующую пару по предмету &quot;Информационные системы и технологии&quot;. Учитывая,...

Создание простого родительского и дочернего окна в нем
Подскажите в чем ошибка? Появляется только родительское окно. Дочернее окно должно быть в...

1
17 / 15 / 8
Регистрация: 26.04.2016
Сообщений: 38
10.09.2018, 23:25 2
Будет выглядеть почти как здесь. Чуть только подпилить нужно будет под текущий вариант кода.
0
10.09.2018, 23:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2018, 23:25
Помогаю со студенческими работами здесь

Создание окна без WinAPI
Хотелось узнать, как создавать окна без использования WinAPI.

Примитив. Создание окна на WinApi
Доброго вечера, форумчане! Специализируюсь на PHP, решил научиться делать программы в окнах :)...

Создание простейшего окна средствами WinApi
Здравствуйте. Читаю книгу &quot;Проектирование интерфейса пользователя средствами Win32 API&quot; Ганеева,...

Создание окна c использованием WinApi из кода C#
Для начала спрошу делал ли кто нибудь что то подобное, если да, то вставьте полученный вами код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru