WM_PAINT neu zeichnen
-
Hallo zusammen, ich hänge schon wieder fest. Ich möchte nach dem betätigen eines Buttons einen Koordinatensystem zeichnen.
case WM_PAINT: { hDC = BeginPaint( hwnd, &ps ); if(ComLesen == 1){ DrawLine(hDC,0,0,0,1,320,20,320,540); DrawLine(hDC,0,0,0,1,310,530,950,530); } EndPaint (hwnd, &ps); break; } case WM_COMMAND:{ switch(wParam){ case 2: { ComLesen = 1; int temp=ReadCom(szCopyComport); itoa (temp, szAusgabe, 10 ); SetWindowText( hWndTextfeld , szAusgabe ); } break; } case 3: { ComLesen = 0; SetWindowText( hWndTextfeld , "" ); } } break; }
Das funktioniert aber nur wenn ich mein Fenster minimiere, aber es soll erscheinen sobald ich auf den Button drücke!
Schon mal danke für die Hilfe!
-
-
Wenn Du willst, dass Dein Fenster neu gezeichnet wird, musst Du InvalidateRect aufrufen:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd145002(v=vs.85).aspx
-
Du malst irgendwie dein Fenster nach dem Buttonklick nicht neu. InvalidateRect(window, 0, 1) tut das (indirekt), wobei "window" das Fenster mit dem Koorddinatensystem sein muss.
-
Super!!!! Danke, das war genau das was ich gesucht habe!!!!!