003 cpp Defines the entry point for the application include stdafx inc

  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
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// 003.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include "stdio.h"
// Обработка сообщений WM_CHAR
#include <Windows.h>
LRESULT CALLBACK WindowFunc(HWND, UINT,
WPARAM, LPARAM) ;
char szWinName[]="МоеОкно"; // Имя класса окна
char szTitle[]="pR0ga"; // Имя класса окна
char str[80]="Пример написания текста";
LRESULT CALLBACK WindowFunc (HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam
)
{
HDC hdc;
PAINTSTRUCT paintstruct;
switch (message)
{
case WM_CHAR:
hdc=GetDC(hwnd);
TextOut(hdc,1,1,"",4);
sprintf(str,"%c",(char)wParam);
TextOut(hdc,1,1,str,strlen(str));
ReleaseDC(hwnd,hdc);
break;
case WM_PAINT:
hdc=BeginPaint(hwnd,&paintstruct);
TextOut(hdc,100,100,str,strlen(str));
EndPaint(hwnd,&paintstruct);
break;
case WM_RBUTTONDOWN:
hdc=GetDC(hwnd);
strcpy(str,"Нажата ПРАВАЯ кнопка");
TextOut(hdc,LOWORD(lParam),HIWORD(lParam),str,strlen(str));
ReleaseDC(hwnd,hdc);
case WM_LBUTTONDOWN:
hdc=GetDC(hwnd);
strcpy(str,"Нажата ЛЕВАЯ кнопка");
TextOut(hdc,LOWORD(lParam),HIWORD(lParam),str,strlen(str));
ReleaseDC(hwnd,hdc);
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc(hwnd,message,wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hThisInst,
HINSTANCE hPrevInst,
LPSTR lpszArgs,
int nWinMode)
{
HWND hwnd;
MSG msg;
WNDCLASS wcl; // Определить класс окна
wcl.hInstance=hThisInst; // Дескриптор приложения
wcl.lpszClassName=szWinName; // Имя класса окна
wcl.lpfnWndProc=WindowFunc; // Функция окна
wcl.style=8; // Стиль по умолчанию
wcl.hIcon=LoadIcon(NULL,IDI_APPLICATION);// Иконка
//wcl.hCursor=LoadCursor(NULL,DEFAULT); // Курсор
wcl.hCursor=LoadCursor(NULL,IDC_ARROW); // Курсор
wcl.lpszMenuName=NULL; // Без меню
wcl.cbClsExtra=0; // Без дополнительной информации
wcl.cbWndExtra=0;
wcl.hbrBackground=CreateSolidBrush(RGB(01,100,150));
//wcl.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH); //Белый фон
if(!RegisterClass(&wcl)) // Регистрируем класс окна
return 0;
hwnd=CreateWindow(szWinName, // Создать окно
szTitle,
WS_OVERLAPPEDWINDOW, // Стиль окна
300, // x-координата
400, // y-координата
600, // Ширина
450, // Высота
HWND_DESKTOP, // Нет родител. окна
NULL, // Нет меню
hThisInst,// Дескриптор приложения
NULL); // Нет дополнит. аргументов
ShowWindow (hwnd, nWinMode); // Показать окно
UpdateWindow (hwnd); // и перерисовать
while(GetMessage(&msg,NULL,0,0)) // Запустить цикл
{ // обработки сообщений
TranslateMessage(&msg); // Разреш. исп. клавиатуры
DispatchMessage (&msg); // Вернуть управл. Windows
}
return msg.wParam;
}
// Следующая функция вызывается операционной
// системой Windows и получает в качестве
// параметров сообщения из очереди сообщений
// данного приложения
/*
LRESULT CALLBACK WindowFunc(HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
switch(message)
{
case WM_DESTROY: // Завершение программы
PostQuitMessage (0);
break;
default:
// Все сообщения, не обрабатываемые в
// данной функции, направляются на обработку
// по умолчанию
return DefWindowProc(hwnd,message,
wParam,lParam);
}
return 0;
}*/