Farbe der Titelleiste auslesen



  • Hallo !

    Ich möchte meine Applikation gerne auf das eingestellte Farbchema von Windows abstimmen.
    Deshalb wollte ich, beispielsweise die Farbe der Titelleiste einmal auslesen:

    void TFormConverterDlg::GetSeveralColors(void) {
    
    	HTHEME  hTheme = OpenThemeData(Handle, L"WINDOW");
    
    	int iPartId  = WP_CAPTION;
    	int iStateId = CS_ACTIVE;
    	int iPropId  = TMT_ACTIVECAPTION;
    	COLORREF * pColor = NULL;
    	HRESULT hResult = GetThemeColor(hTheme, iPartId, iStateId, iPropId, pColor);
    }
    

    Der erhoffte Farbwert sollte eigentlich in pColor stehen, aber der ist immer NULL.

    Kann mir jemand weiter helfen ?
    Vielen Dank


  • Mod

    Lerne mal etwas C/C++ und was es bedeutet einen Zeiger zu nutzen. Du musst natürlich auch einen Speicher anegeben, in den die Infos rein müssen.

    COLORREF color = RGB(0,0,0); 
    HRESULT hResult = GetThemeColor(hTheme, iPartId, iStateId, iPropId, &color);
    


  • Nachdem ich nun dazugelernt habe, muss ich leider sagen, dass das Ergebnis immer noch RGB(0, 0, 0) ist ...


Anmelden zum Antworten