Brauche dringend Hilfe (Koordinaten)



  • hi leute,

    und zwar bin ich ein ziemlicher neuling in der winapi programmierung. jetzt habe ich die aufgabe gestellt bekommen ein programm nachzu"bauen".
    jetzt komme ich allerdings nicht weiter. hier erstmal der quelltext.

    [cpp][code]//ziehen.cpp (by) Matthias Walter
    
    #include <windows.h>
    MSG n;
    static int x, y, z, a, b, c, d;
    char s[100];
    
    LRESULT CALLBACK Fensterfunktion(HWND hwnd,UINT message,
    								 WPARAM wparam, LPARAM lparam) {
    
    	switch(message) 
    	{
    
    	case WM_CREATE:
    		MessageBox(hwnd, "Ziehen Sie mit der linken MT ein Rechteck auf", "Ziehen", MB_OK);
    		return 0;
    
    	case WM_LBUTTONDOWN:
    		x=LOWORD(lparam);
    		y=HIWORD(lparam);
    		return 0;
    
    	case WM_LBUTTONUP:
    		a=LOWORD(lparam);
    		b=HIWORD(lparam);
    		c=a-x;
    		d=b-y;
    		z=c*d;
    		MessageBox(hwnd, "Drücken Sie eine belibige Taste", "Info", MB_OK);
    		return 0;
    
    	case WM_KEYDOWN:
    		wsprintf(s, "Höhe: %d Breirte: %d \nRechteckfläche: %d", x, y, z);
    		MessageBox(hwnd, s, "Daten des aufgezogenen Rechtecks: ", MB_OK);
    		return 0;
    
    	case WM_DESTROY:
    		PostQuitMessage(0);
    		return 0;
    	}	
    	return DefWindowProc(hwnd, message, wparam, lparam);
    }
    
    int WINAPI WinMain(HINSTANCE dieseInstanz,HINSTANCE
    				   vorigeInstanz,LPSTR t, int d) {
    
    	HWND f;
    	char szAppName[]="Eine neue Fensterklasse";
    	WNDCLASS wc;
    	wc.style		= CS_HREDRAW | CS_VREDRAW ;
    	wc.lpfnWndProc	= Fensterfunktion;
    	wc.cbClsExtra	= 0;
    	wc.cbWndExtra	= 0;
    	wc.hInstance	= dieseInstanz;
    	wc.hIcon		= LoadIcon(NULL, IDI_HAND);
    	wc.hCursor		= LoadCursor(NULL, IDC_ARROW);
    	wc.hbrBackground= CreateSolidBrush(RGB(0,255,255));
    	wc.lpszMenuName	= NULL;
    	wc.lpszClassName= szAppName;
    
    	if (!RegisterClass(&wc))	{		
    
    		return 0;
    	};
    
    	f = CreateWindow ( szAppName,
    			"Wir experimentieren",
    			WS_OVERLAPPEDWINDOW |  WS_VISIBLE,
    			100,
    			150,
    			600,
    			500,
    			NULL,
    			NULL,
    			dieseInstanz,
    			NULL);
    	while (GetMessage(&n,NULL,0,0) ) {
    		DispatchMessage(&n);
    	};
    	return n.wParam;
    
    }
    

    [/cpp][/code]

    so das erstam dazu. jetzt zum problem. das programm soll die fläche eines rechteckes errechnen, welches unsichtab mit der maus aufgezogen wird.

    das mach mein programm zwar auch, aber wenn man nachrechnet, kann das ergebnis nicht hinhaun. jetzt würde ich gern rausfinden, wo der fehler liegt. könnt ihr mir evtl helfen?! ich denk mal die rechnung stimmt. irgendwas mit den koordinaten haut aber bestimmt nicht hin.

    *achso, das ergebnis ist in pixel*

    thx für die hilfe!!!



  • hoppala,...... sry das ich gestört habe. ich glaub ich hab den fehler selber gefunden! hab in der ausgabe msgbox nur die falschen variablen ausgegeben. 😃 😃

    winapi is ja doch ganz simple! 😃


Log in to reply