Deutsch
Forum

16x16 Icons auf Iconbutton per Hicon automatisch vergrößert?

 

Christian
Schneider
Hallo,

wenn ich ein 16x16 großes Icon per hicon in einen Iconbutton lade wird das Icon unabhängig von der Buttongröße vergrößert.

Kennt jemand dafür eine Lösung?
(Verwende 11Sub12)

Beispiel im Anhang

66 kB
Hochgeladen:14.01.2008
Ladeanzahl164
Herunterladen
 
XProfan 11| Vista(64) SP2
14.01.2008  
 




Jac
de
Lad
Ich hab mal im MSDN nachgeschaut und das Ganze mit APIs nachgebildet: Gleiches Ergebnis. Mir ist kein Befehl aufgefallen, womit das zu beheben geht...

1 kB
Hochgeladen:14.01.2008
Ladeanzahl166
Herunterladen
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.01.2008  
 




Christian
Schneider
Dann werd ichs über die Bmp machen, bevor ich noch lange rumfrickel.
Danke für deine Mühe
 
XProfan 11| Vista(64) SP2
15.01.2008  
 



Das Problem könnte LR_DEFAULTSIZE  [...]  sein: Uses the width or height specified by the system metric values for cursors or icons, if the cxDesired or cyDesired values are set to zero. If this flag is not specified and cxDesired and cyDesired are set to zero, the function uses the actual resource size. If the resource contains multiple images, the function uses the size of the first image.
 
15.01.2008  
 




Jac
de
Lad
Aber nach dem Laden ist das Icon immer noch 16*16 (nachweisbar mit DrawPic). Es wird erst gestreckt, wenn es auf den Button kommt.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.01.2008  
 




Andreas
Miethe



KompilierenMarkierenSeparieren
 $H windows.ph
 $H shellapi.ph
Declare LargeIcon&,SmallIcon&
CLS
~ExtractIconEx(IconXP32.dll,7,Addr(LargeIcon&),Addr(SmallIcon&),1)
Create(IconButton,%hwnd,LargeIcon&,1,1,50,50)
Create(IconButton,%hwnd,SmallIcon&,1,71,50,50)
Waitinput
~DestroyIcon(LargeIcon&)
~DestroyIcon(SmallIcon&)
End
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
15.01.2008  
 




Jac
de
Lad
Aha, interessant. Womit die Sache geklärt wäre.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.01.2008  
 



und so hab ich mir das jetzt zurecht gewurstelt
KompilierenMarkierenSeparieren
 $H windows.ph
 $H shellapi.ph
Declare largeicon&,smallicon&
DECLARE txt%,font0%,b%,h%
font0%=CREATE(FONT,ARIAL,16,6,0,0,0)
-----------------------------------------------------

PROC SMALL_BUTTON

    b%=25:h%=25
    PARAMETERS icon%,X%,Y%,text$
    ~ExtractIconEx(shell32.dll,icon%,Addr(LargeIcon&),Addr(SmallIcon&),1)
    Create(IconButton,%hwnd,SmallIcon&,X%,Y%,b%,h%)
    txt%=CREATE(TEXT,%HWnd,text$,(x%+(b%+2)),(y%+(h%/4)),80,20)
    SetFont txt%,font0%

ENDPROC

-------------------------------------------------

PROC LARGE_BUTTON

    b%=40:h%=40
    PARAMETERS icon%,X%,Y%,text$
    ~ExtractIconEx(shell32.dll,icon%,Addr(LargeIcon&),Addr(SmallIcon&),1)
    Create(IconButton,%hwnd,LargeIcon&,X%,Y%,b%,h%)
    txt%=CREATE(TEXT,%HWnd,text$,(x%+(b%+2)),(y%+(h%/3)),80,20)
    SetFont txt%,font0%

ENDPROC

-------------------------------------------------
CLS RGB(235,235,220)
SMALL_BUTTON 23,10,10,Hilfe F1
SMALL_BUTTON 38,100,10ffnen
LARGE_BUTTON 16,190,10,Drucken
Waitinput
~DestroyIcon(SmallIcon&)
~DestroyIcon(LargeIcon&)
End
 
15.01.2008  
 




Andreas
Miethe


Noch eine Lösung !
KompilierenMarkierenSeparieren
 $H windows.ph
Declare Dll&,ModulHandle&,LargeIcon&,SmallIcon&,Icon&
CLS
Dll& = UseDll(IconXP32.dll)
ModulHandle& = ~GetModuleHandle(IconXP32.dll)
Icon& = ~LoadImage(ModulHandle&,#8,~IMAGE_ICON,16,16,0)
Create(IconButton,%hwnd,Icon&,1,11,50,50)
Waitinput
~DestroyIcon(Icon&)
FreeDll Dll&
End
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
15.01.2008  
 




Jac
de
Lad
Komisch, ich hatte es auch mit LoadImage probiert, hatte aber keinen Erfolg (das Bild war wieder zu groß).
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.01.2008  
 




Andreas
Miethe


Parameter 4 und 5 geben die Grösse vor .
So kannst Du die Icons in jeder beliebigen Grösse laden, macht allerdings wenig Sinn,
wenn die Icons in 16 X 16 Pixeln vorliegen.
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
15.01.2008  
 




Jac
de
Lad
Jaja, ich weiß, ich mache das ziemlich oft so. Bevor Rolands Imagelist-Befehle kamen habe ich das immer mit LoadImage gemacht. Nur wars bei mir komsicherweise trotzdem vergrößert. Naja, egal, da liegt der Fehler sicher wieder woanders. Hauptsache es geht jetzt.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.01.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.373 Betrachtungen

Unbenanntvor 0 min.
Normann Strübli06.02.2023
Member 361000514.11.2022
Sven Bader17.08.2021
Jörg Sellmeyer24.06.2018
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie