: ; ; ; ; , ; .
1. .
2. .
3. , .
4. , ( ).
8. Windows
,
Windows XP/7/8. :
- , Windows [5];
- ;
- ;
- .
Windows
(OC) Windows , API (Application Programming Interface) Win API. , OC Windows . MSG. , , . (), . ( #define, ): WM_LBUTTONUP, WM_LBUTTONDOWN, WM_LBUTTONDBLCLK, WM_MOUSEMOVE, WM_CHAR, WM_KEYUP, WM_KEYDOWN, WM_ACTIVATE, WM_CREATE, WM_DESTROY, WM_MOVE, WM_SIZE, WM_KILLFOCUS, WM_PAINT, WM_COMMAND, WM_TIMER [5].
Windows
:
- WinMain ( , );
- - , .
WinMain :
int WINAPI WinMain(HINSTANCE hIns, HINSTANCE hPrevIns, LPSTR arg, int WinMode)
WinMain:
- ;
- ;
- ;
- ;
- .
( ) :
|
|
LRESULT CALLBACK WinFun(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
, :
switch(message)
{
case WM_CREATE: //
. break;
case WM_DESTROY: //
PostQuitMessage(0);
break;
case WM_LBUTTONDOWN: //
. break;
default: //
return DefWindowProc(hwnd, message, wParam, lParam);
}
Windows
(Device Context) ( , , ..). , . (, , .) (, ). , , Windows .
:
;
;
( );
( ).
( - HDC):
HDC GetDC(HWND hWnd);
HDC BeginPaint(HWND hWnd, LPPAINTSTRUCT lpPaint);
:
int ReleaseDC(HWND hWnd, HDC hDC);
BOOL EndPaint(HWND hWnd, CONST PAINTSTRUCT *lpPaint);
:
HGDIOBJ GetStockObject(int);
:
:
WHITE_PEN, BLACK_PEN, NULL_PEN
:
WHITE_BRUSH, LTGRAY_BRUSH, GRAY_BRUSH, DKGRAY_BRUSH, BLACK_BRUSH, NULL_BRUSH
:
HPEN CreatePen(int, int, COLORREF);
, ( ):
PS_SOLID /* ______ */
PS_DASH /* ------- */
PS_DOT /*....... */
PS_DASHDOT /* _._._._ */
PS_DASHDOTDOT /* _.._.._ */
PS_NULL
.
, :
RGB(r,g,b)
typedef DWORD COLORREF;
:
HBRUSH CreateSolidBrush(COLORREF);
:
HBRUSH CreateHatchBrush(int, COLORREF);
, , :
HS_HORIZONTAL /* ----- */
HS_VERTICAL /* || */
HS_FDIAGONAL /* \\\\\ */
HS_BDIAGONAL /* ///// */
HS_CROSS /* +++++ */
HS_DIAGCROSS /* xxxxx */
:
HGDIOBJ SelectObject(HDC, HGDIOBJ);
( ) , :
BOOL DeleteObject(HGDIOBJ);