Grafik med WINAPI

Tags:    c++

Davs...
Sidder og leger med lidt WINAPI, og har stødt på et lille problem..
jeg skal lave noget grafik.. det er så også lykkes for mig.. men dog kun under WM_PAINT...
<pre>
LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
HDC hDC;
PAINTSTRUCT Ps;

switch(Msg)
{
case WM_CLOSE:
DestroyWindow(hWnd);
break;

// Kun her i skal kigge ! ! :)
case WM_PAINT:

hDC = BeginPaint(hWnd, &Ps);

MoveToEx(hDC, 60, 20, NULL);
LineTo(hDC, 264, 122);
EndPaint(hWnd, &Ps);

break;
// End of WM_PAINT
case WM_DESTROY:
PostQuitMessage(WM_QUIT);
break;
default:
return DefWindowProc(hWnd, Msg, wParam, lParam);
}
return 0;
}
</pre>

Dette stykke kode virker fint... og tegner en lille streg på skærmen..

men når jeg så vil prøve på at få stregen til at komme når der bliver trykket på f.eks Venstre musseknap.. så funker skidtet ikke.. men det mærkelige var at jeg fik det til at virke igår.. men i dag.. så funker det bare ikke..
Kode:

<pre>
LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
HDC hDC;
PAINTSTRUCT Ps;

switch(Msg)
{
case WM_CLOSE:
DestroyWindow(hWnd);
break;
case WM_LBUTTONDOWN:

hDC = BeginPaint(hWnd, &Ps);

MoveToEx(hDC, 60, 20, NULL);
LineTo(hDC, 264, 122);
EndPaint(hWnd, &Ps);

break;

case WM_DESTROY:
PostQuitMessage(WM_QUIT);
break;
default:
return DefWindowProc(hWnd, Msg, wParam, lParam);
}
return 0;
}
</pre>

håber der er nogen af jer der lige udmidbart kan se hvad det er jeg har gjort galt..

på forhånd tak.

ps. bemærk at det kun er WndProc() jeg har taget med, så det nytter ikke at prøve at compile koden :)..




mvh. Kristian Nissen.

~Den der ler sidst... tænker langsomt!~

[Redigeret d. 15/06-04 19:05:46 af Kristian]



5 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Man bruger kun BeginPaint og EndPaint ved WM_PAINT.
I alle andre tilfælde bruger man GetDC til at få fat i en DC og ReleaseDC til at release den.



Man bruger kun BeginPaint og EndPaint ved WM_PAINT.
I alle andre tilfælde bruger man GetDC til at få fat i en DC og ReleaseDC til at release den.


Du har ikke lyst til at komme med noget eksempel på noget kode? :)


mvh. Kristian Nissen.

~Den der ler sidst... tænker langsomt!~



Et komplet lille windows program:

Fold kodeboks ind/udKode 




Takker!!...
Det var lige hvad jeg manglede...

Mvh. Kristian



.



t