Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Fenster wird nicht neu gezeichnet

Frage Entwicklung C und C++

Mitglied: Letavino

Letavino (Level 1) - Jetzt verbinden

20.01.2012, aktualisiert 12:38 Uhr, 2402 Aufrufe, 1 Kommentar

Hallo,
ich bin gerade dabei, mich in WinAPI und C++ einzuarbeiten.
Dabei hab ich folgendes Problem:

Ich habe einen Quellcode aus einem Tutorial abgewandelt, um zu sehen, ob ich alles verstanden habe.
Dabei soll in meinem Programm nichts weiter passieren, als dass ein Kreis von links nach rechts fährt.
Das ganze funktioniert soweit auch, wie man sehen kann, wenn man das Fenster in der Größe verändert,
nur wird es nicht von alleine neu gezeichnet.

Woran liegt das? Was fehlt in meinem Code noch?

01.
#include <windows.h> 
02.
#include <math.h> 
03.
 
04.
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); 
05.
 
06.
#define ID_ERSTER_TIMER 1 
07.
 
08.
wchar_t szAppName[] = L"Ball'"; 
09.
 
10.
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) 
11.
12.
	MSG		msg; 
13.
	HWND		hWnd; 
14.
	WNDCLASS	wc; 
15.
 
16.
	wc.cbClsExtra		= 0; 
17.
	wc.cbWndExtra		= 0; 
18.
	wc.hbrBackground	= (HBRUSH) GetStockObject(WHITE_BRUSH); 
19.
	wc.hCursor			= LoadCursor(NULL, IDC_CROSS); 
20.
	wc.hIcon			= LoadIcon(NULL, IDI_APPLICATION); 
21.
	wc.hInstance		= hInstance; 
22.
	wc.lpfnWndProc		= WndProc; 
23.
	wc.lpszClassName	= szAppName; 
24.
	wc.lpszMenuName		= NULL; 
25.
	wc.style			= CS_HREDRAW | CS_VREDRAW; 
26.
 
27.
	RegisterClass(&wc); 
28.
 
29.
	hWnd = CreateWindow( szAppName, 
30.
						 szAppName, 
31.
						 WS_OVERLAPPEDWINDOW, 
32.
						 CW_USEDEFAULT, 
33.
						 CW_USEDEFAULT, 
34.
						 CW_USEDEFAULT, 
35.
						 CW_USEDEFAULT, 
36.
						 NULL, 
37.
						 NULL, 
38.
						 hInstance, 
39.
						 NULL); 
40.
 
41.
	ShowWindow(hWnd, iCmdShow); 
42.
	UpdateWindow(hWnd); 
43.
 
44.
	while(GetMessage(&msg, NULL, 0, 0)) 
45.
46.
		TranslateMessage(&msg); 
47.
		DispatchMessage(&msg); 
48.
49.
	return msg.wParam; 
50.
51.
 
52.
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 
53.
54.
	static RECT		rect; 
55.
	static double	horizontal; 
56.
 
57.
	switch(message) 
58.
59.
		case WM_CREATE: 
60.
61.
			SetTimer(hWnd, ID_ERSTER_TIMER, 10, NULL); 
62.
			return 0; 
63.
64.
 
65.
		case WM_SIZE: 
66.
67.
			rect.right	= LOWORD(lParam); 
68.
			rect.bottom	= HIWORD(lParam); 
69.
			return 0; 
70.
71.
 
72.
		case WM_PAINT: 
73.
74.
			PAINTSTRUCT	ps; 
75.
			HDC			hDC; 
76.
 
77.
			hDC = BeginPaint(hWnd, &ps); 
78.
 
79.
 
80.
81.
				HBRUSH hOldBrush = (HBRUSH)SelectObject(hDC, CreateSolidBrush(RGB(0,0,255))); 
82.
 
83.
				Ellipse(hDC, 0+horizontal,50,50+horizontal,100); //links, oben, rechts, unten 
84.
 
85.
				DeleteObject(SelectObject(hDC,hOldBrush)); 
86.
87.
			EndPaint(hWnd, &ps); 
88.
			return 0; 
89.
90.
 
91.
		case WM_TIMER: 
92.
93.
			switch(wParam) 
94.
95.
				case ID_ERSTER_TIMER: 
96.
97.
					RECT InvalRect; 
98.
 
99.
					horizontal += 5; 
100.
				 
101.
					InvalRect.left	=	 0 + horizontal		-50; 
102.
					InvalRect.top	=	50			-50; 
103.
					InvalRect.right =	50 + horizontal	+50; 
104.
					InvalRect.left	=	100			+50; 
105.
 
106.
					InvalidateRect(hWnd, &InvalRect, TRUE); 
107.
 
108.
					break; 
109.
110.
111.
			return 0; 
112.
113.
 
114.
		case WM_DESTROY: 
115.
116.
			KillTimer(hWnd, ID_ERSTER_TIMER); 
117.
			PostQuitMessage(0); 
118.
			return 0; 
119.
120.
121.
	return DefWindowProc(hWnd, message, wParam, lParam); 
122.
}
Mitglied: Letavino
20.01.2012 um 12:47 Uhr
Ok, hat sich Erledigt.
Der Fehler lag in Zeile 104, da ich versehentlich statt Bottom, top geschrieben hatte.

Mfg
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Fenster für neue Email schließt automatisch während dem Schreiben
gelöst Frage von johnnywOutlook & Mail7 Kommentare

Hallo zusammen, wenn ich mit Outllook 2010 (WInXP) eine email schreibe, kommt es immer häufiger vor, dass das Emailfenster ...

Blogs
IT-Blog mit Werbung schalten - Joomla - Neues Fenster
gelöst Frage von samet22Blogs7 Kommentare

Hallo Leute, habe ein IT-Blog (www.dermodwarda.de) bei welchem ich kleine Einnahmen mit google adsense erzielen will (Webspace kosten etc ...

Outlook & Mail
Neue Email aufmachen: immer nur minimiertes Fenster
Frage von ralboeOutlook & Mail4 Kommentare

Hallo zusammen, vielleicht kann mir jemand helfen? Wenn eine neue Email aufgemacht wird erscheint Sie nur komplett minimiert. Man ...

Webbrowser
T-Online-Login-Fenster öffnet unter Edge-Fenster
Frage von achkleinWebbrowser3 Kommentare

Hallo, bei einem Bekannten öffnet sich beim Edge das Fenster zum Login bei der Telekom anstatt vor dem aktuellen ...

Neue Wissensbeiträge
Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 30 MinutenSicherheit

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless10 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Router & Routing
Wieso kann ich den UPD 7000-9000 nicht freigeben?
Frage von Jayk0bRouter & Routing8 Kommentare

Router: Telekom W 723V Ports: UDP 7000-9000 Können nicht frei gegeben werden. Benutzgrund: Rocket League 7000 – 9000 UDP ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing8 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...