Archangel_09, в оконной процедуре перехватить и обработать сообщение windows , под названием WM_PAINT
а дальше зависит от того, что ты используешь: если библиотека MFC , это обработчик OnPaint , там создаётся контекст устройства CPaintDC dc - на нём рисуешь. А если чистый API хочешь использовать, то вот например (прямо из МСДН пример выдран)
LRESULT APIENTRY WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
//TextOut(hdc, 0, 0, "Hello, Windows!", 15);
//ТУТ РИСУЕШЬ НА КОНТЕКСТЕ , его хендл - hdc
EndPaint(hwnd, &ps);
return 0L;
// Process other messages.
}
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hwnd;
hwnd = CreateWindowEx(
// parameters
);
ShowWindow(hwnd, SW_SHOW);
UpdateWindow(hwnd);
return msg.wParam;
}
нарисовать примитивы можно так:
MFC:
dc.SetPixel(int x,int y,COLORREF crColor); // точка
dc.MoveTo(int x,int y); //переместить графический курсор
dc.LineTo(int x,int y); //провести линию до точки от тек.
//положения графического курсора
dc.Rectangle(int x1,int y1,int x2,int y2);//примоугольник
dc.Ellipse(int x1,int y1,int x2,int y2 );//эллипс
для задания COLORREF используй макрос RGB(красный,зелёный,синий)
цвет линий , эллипсов и прямоугольников пока можно по умолчанию оставить (цвета линий и фона - это отдельная песенко
) , сначала это победи...
в API все методы такие же , только вызывать так:
::SetPixel(hdc,int x,int y,COLORREF crColor);
::MoveTo(hdc,int x,int y);
::LineTo(hdc,int x,int y);
::Rectangle(hdc,int x1,int y1,int x2,int y2);
::Ellipse(hdc,int x1,int y1,int x2,int y2 );
вот... пробуй , надеюсь, я чем то помог )