[code]
#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
WNDCLASS WndClass;
WndClass.style = 0;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.lpfnWndProc = WndProc;
WndClass.hInstance = hInstance;
WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
WndClass.hCursor = LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
WndClass.lpszMenuName = 0,
WndClass.lpszClassName = "WinProg";
RegisterClass(&WndClass);
HWND hWindow;
hWindow = CreateWindow("WinProg","Fenster",
WS_OVERLAPPEDWINDOW,
0,0,600,480,NULL,NULL,
hInstance,NULL);
ShowWindow(hWindow, nCmdShow);
UpdateWindow(hWindow);
MSG Message;
while(GetMessage(&Message,NULL,0,0))
{
DispatchMessage(&Message);
}
return(Message.wParam);
}
LRESULT CALLBACK WndProc (HWND hWnd, UINT uiMessage,
WPARAM wParam, LPARAM lParam)
{
switch(uiMessage)
{
case WM_DESTROY:
PostQuitMessage(0);
return (0);
case WM_PAINT:
HPEN hPen;
HPEN hPenalt;
HBRUSH hBrush;
HBRUSH hBrushalt;
hBrush = CreateSolidBrush (RGB(255,0,0));
hPen = CreatePen(PS_SOLID,2,RGB(0,255,255));
HDC hdc;
PAINTSTRUCT ps;
hdc = BeginPaint (hWnd, &ps);
hBrushalt = SelectObject(hdc,hBrush);
hPenalt = SelectObject(hdc,hPen);
MoveToEx(hdc,20,20,NULL);
LineTo(hdc,100,100);
Rectangle(hdc,120,20,240,140);
RoundRect(hdc,260,20,420,140,20,20);
RECT rect;
SetRect(&rect,20,260,240,420);
FrameRect(hdc,&rect,hBrush);
SetRect(&rect,260,260,420,420);
FillRect(hdc,&rect,hBrush);
Ellipse(hdc,440,260,480,420);
SelectObject(hdc,hBrushalt);
SelectObject(hdc,hPenalt);
DeleteObject(hPen);
DeleteObject(hBrush);
EndPaint(hWnd,&ps);
return (0);
default:
return DefWindowProc(hWnd, uiMessage,
wParam, lParam);
}
}
[/code]
Leider lässt sich diese Programm so nicht bei mir kompilieren :-(
Könnte mir jemand eine Lösung schicken???
Hinzu habe ich wieder drei wunderbare Fragen:
a) gebe ich mit delete das pen object aus speichergründen wieder frei, da ich sonst x objekte davon haben??
b)wieso rufe ich EndPaint auf???
c)was bewirkt selectobject???
ich hoffe ich überfalle euch nicht mit diesen fragen.
wenn jemand die antwort darauf weiß, schreibe er sie doch eben.
mit freundlichen grüßen
der dude