Ich verwende eine Schaltfläche, die nicht DPI-bewusst ist. Ich benutze es überall in meinem Code, also möchte ich idealerweise ein paar Zeilen im SetIcon des Buttons hinzufügen.Ändern der Größe eines HICON
Die SetIcon-Methode verwendet (nicht überraschend) einen HICON als Parameter - und ich möchte das Symbol abhängig von der DPI-Auflösung ändern (so die meiste Zeit seine Größe vergrößern).
bearbeiten Wie unten angegeben, war meine Frage nicht klar. Ich möchte nicht die Größe des Symbols ändern - wie von einer Ressource gelesen - aber ich möchte ein HICON od 16x16 in ein neues HICON von 40x40 verwandeln. Ich habe einen Code, der ein PNG liest (das ein HICON zurückgibt) und LoadImage (noch LoadIconWithScaleDown) wird nicht damit arbeiten.
Irgendwelche Ideen?
Das Ändern der Frage, nachdem die Antwort bereits gegeben wurde, wird nicht empfohlen. Auch deine modifizierte Frage ist noch unklar. Sie haben "etwas Code", der 16x16 Symbol macht, erhalten Sie es nur, um 40x40 Symbol zu machen. Oder vergrößern Sie das Symbol, wenn Sie sich nicht um die Auflösung kümmern. Was hat das mit DPI zu tun? es sei denn, Ihre DPI-Einstellungen liegen bei 250 Prozent! –
@BarmakShemirani Ich habe OP gebeten, seine Frage zur Klarstellung zu bearbeiten. Ich denke, es ist jetzt ganz klar. Ich habe derzeit keine Zeit, meine Antwort zu aktualisieren, die wie folgt aussehen könnte: 1. Erstellen Sie einen 32-Bit-Speichergerätekontext. 2. 'DrawIconEx()' in diesen Speicher DC, um das Symbol zu skalieren. 3. CreateIcon() 'aus den Bits des Speichers DC, um das zurück in ein Symbol zu verwandeln. – zett42
@ zett42 - Danke dafür - würde die Transparenz funktionieren? – BadJerry