text auf "buttondruck"



  • ich moechte gerne einen text in mein standart fenster auf knopfdruck ausgsgeben, habe aber keine ahnung wie ich dies machen kann?? koennte mir jemand ein beispiel code posten??



  • Beim Klick auf den Button bekommst du eine WM_COMMAND-Nachricht. Dort setzt du dann eine statische Variable auf einen bestimmten Wert und fragst diesen dann in WM_PAINT ab und zeichnest dann in Abhängigkeit davon den Text 😉



  • ??, etwas ausfuehrlich bitte, ich versteh nicht so recht.



  • So ungefähr:

    LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	HDC hdc;
    	PAINTSTRUCT ps;
    	static bool pressed = false;
    	static char text[] = "Der Button wurde gedrückt";
    
    	switch (message)
    	{
    		case WM_CREATE:
    			CreateWindow("BUTTON","Klick mich",WS_CHILD|WS_VISIBLE,10,10,200,25,hwnd,(HMENU)1,((LPCREATESTRUCT)lParam)->hInstance,NULL);
    			return (0);
    
    		case WM_COMMAND:
    			if(HIWORD(wParam) == BN_CLICKED)
    			{
    				switch(LOWORD(wParam))
    				{
    					case 1:
    						pressed = !pressed;
    						InvalidateRect(hwnd,NULL,true);
    						break;
    				}
    			}
    			return (0);
    
    		case WM_PAINT:
    			hdc = BeginPaint (hwnd, &ps);
    			if(pressed) TextOut (hdc, 10, 50, text, sizeof(text));
    			EndPaint (hwnd, &ps);
    			return (0);
    
    		case WM_DESTROY:
    			PostQuitMessage (0);
    			return (0);
    	}
    	return DefWindowProc (hwnd, message, wParam, lParam);
    }
    


  • thx


Anmelden zum Antworten