Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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, 2395 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
Webbrowser
T-Online-Login-Fenster öffnet unter Edge-Fenster (3)

Frage von achklein zum Thema Webbrowser ...

Windows Server
RemoteApp Fenster kommt nicht in den Vordergrund (1)

Frage von thomasreischer zum Thema Windows Server ...

Microsoft Office
gelöst Fenster in Office 2013 skalieren? (1)

Frage von Geforce zum Thema Microsoft Office ...

Windows Update
Windows Explorer flimmert, wenn das Fenster minimiert wird (1)

Frage von infostud zum Thema Windows Update ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...