Schrift fett machen, ist diese Funktion ok?



  • Hallo Leute

    ich habe mir eine kleine Funktion geschrieben um die Schriftdicke von Fenstertexten zu verändern. Die Funktion funktioniert so weit, leider bin ich mir nicht sicher ob ich in Bezug auf etwaige memoryleaks alles richtig programmiert habe. Kennt sich da jemand aus? Hier meine Funktion:

    void ChangeFontWeight(HWND hWnd, long new_lfWeight){
    
    	HFONT	old_font, new_font;
    	LOGFONT	tmp_logfont;
    	RECT	rect;
    
    	memset(&old_font, 0, sizeof(HFONT));
    	memset(&new_font, 0, sizeof(HFONT));
    	memset(&tmp_logfont, 0, sizeof(LOGFONT));
    
    	old_font = (HFONT)SendMessage(hWnd, WM_GETFONT, 0, 0);
    	GetObject(old_font, sizeof(LOGFONT), (PTSTR)&tmp_logfont);
    	tmp_logfont.lfWeight = new_lfWeight;
    	new_font = CreateFontIndirect(&tmp_logfont);
    	SendMessage(hWnd, WM_SETFONT, (WPARAM)Font_Temp, 0);
    	GetClientRect(hWnd, &rect);
    	InvalidateRect(hWnd, &rect, TRUE);
    	DeleteObject(old_font);
    }
    


  • muss natürlich

    SendMessage(hWnd, WM_SETFONT, (WPARAM)new_font, 0);
    

    heissen


Anmelden zum Antworten