transparenter button mit bild



  • case WM_CREATE:
    		 {
    			 hInstance=((LPCREATESTRUCT)lParam)->hInstance; 
    			 datHandle=CreateWindowEx(WS_EX_TRANSPARENT,"button",TEXT("BUTTON"),
    									WS_CHILD|WS_VISIBLE|BS_OWNERDRAW,
    									100,100,100,100,
    									hwnd,(HMENU)3000,hInstance,NULL);
    			 hIcon=LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
    		 }return 0; 
    	 case WM_DRAWITEM:
    		 {
    			pDis=(LPDRAWITEMSTRUCT)lParam;
    			DrawIcon(pDis->hDC, 0, 0, hIcon);
    

    Ich möchte ein Icon als Button haben. Im Moment wir das Icon auch angezeigt, nur um das Icon ringsherum befindet sich in rechteckiger diese typische Windowsfarbe farbe. Deshalb dachte ich mir, nimmste das Flag "CreateWindowEx" und die Farbe um Das Icon geht weg. Was passiert - nichts. Das Icon UNDdie graue Farbe ist zu sehen.



  • Wie geht der Code denn weiter, steht da nach DrawIcon return 0?

    Dein Button ist 100 Pixel breit (und hoch). Hat dein Icon die gleichen Ausmaße?



  • Ja, danach kommt return 0;
    Das Icon ist nicht so groß. Das spielt auch keine Rolle denn einig stellen sind beim Icon transparent -> und an diesen Stellen sieht man die graue Buttonfarbe.



  • Mir geht es nur darum warum der Button trotz des Flags "WS_EX_TRANSPARENT" angezeigt wird.


Anmelden zum Antworten