| |
|
|
- Seite 1 - |
|
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 |
|
|
| |
|
|
|
| |
|
- Seite 1 - |
|
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... |
|
|
| 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 |
|
|
| |
|
|
|
| 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. |
|
|
| |
|
|
|
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,10,Öffnen
LARGE_BUTTON 16,190,10,Drucken
Waitinput
~DestroyIcon(SmallIcon&)
~DestroyIcon(LargeIcon&)
End
|
|
|
| |
|
|
|
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 ▲ |
|
|
|
| |
|
- Seite 2 - |
|
|
Christian Schneider | Danke Leute! Habs zwar mittlerweile per .bmp gelöst, aber beim nächsten Projekt komme ich gern drauf zurück. |
|
|
| |
|
|