Buttonimagegadget beschriften ?
-
- Beiträge: 207
- Registriert: 09.12.2004 22:09
Buttonimagegadget beschriften ?
Hallo,
wie versehe ich das Buttonimagegadget mit zusätzlicher Schrift unter dem Bildchen unter Windows und Linux ?
Danke und Gruß
wie versehe ich das Buttonimagegadget mit zusätzlicher Schrift unter dem Bildchen unter Windows und Linux ?
Danke und Gruß
Re: Buttonimagegadget beschriften ?
Hätte da ne Lib, aber nur für Windows.pickelrobert hat geschrieben:Hallo,
wie versehe ich das Buttonimagegadget mit zusätzlicher Schrift unter dem Bildchen unter Windows und Linux ?
Danke und Gruß
Hast damit die Möglichkeit max. 3 Grafiken pro Gadget zu nehmen.
Grafik 1 = Normale ansicht.
Grafik 2 = beim Klick per Maus (Falls angegeben)
Grafik 3 = Disable (Falls angegeben)
Text kannste wahlweise
links, rechts, oben oder unten anzeigen lassen.
Multiline und Toggle
ist ebenfalls vorhanden.
DONALD
www.PureBasic-Donald.de gibt es im Moment nicht mehr
PureBasic - jaPBe - PureVisonXP - TailBite

PureBasic - jaPBe - PureVisonXP - TailBite
-
- Beiträge: 207
- Registriert: 09.12.2004 22:09
Danke für den Hinweis. Mir geht es aber hauptsächlich um Linux, da ich eine Anwendung von VB6 (in Teilen) nach Linux portieren will, unter Windows wird entwickelt und getestet, da das Hin- und Herschalten einfacher ist. Die Windows-Anwendung wird nicht nach PB portiert - da gibt's einfach noch zu viele Sachen, die sich mit PB nicht lösen lassen, z.B. gibt's kein richtiges Grid (wie MSFlexGrid), kein gescheites Drag & Drop (außer mit Dateien), zu geringer maximaler Stringspeicher usw. usw.
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
Vieleicht wäre das was für dich...
http://www.purebasic-lounge.de/viewtopic.php?p=973#973
http://www.purebasic-lounge.de/viewtopic.php?p=973#973
-
- Beiträge: 207
- Registriert: 09.12.2004 22:09
Habe Deinen Code leicht modifiziert. Bild ist jetzt oben und Schrift unten. Außerdem wird Text und Bild "dynamisch" positioniert - je nach Größe des Buttons. Die Hintergrundfarbe wird jetzt (wenn nicht gesetzt) aus der Fensterfarbe geholt. Allerdings entspricht die Darstellung im Modus "Deaktiviert" nicht meinen Vorstellungen. Hast Du da 'ne Idee (Grafikzeug ist nicht so mein Ding)
Und hier die Aufrufprozedur:
Code: Alles auswählen
Procedure ButtonIconGadget (gadget.l,x.l,y.l,width.l,height.l,text.s,fontname.s,fontsize.l,fontcolor.l,backcolor.l,image.l)
Protected ImgTmp.l, IconWidth.l, IconHeight.l, rd.l, gn.l, bl.l, tmplen.l, FontID.l
If Fontname.s="" : Fontname.s="Arial" : EndIf
If Fontsize.l=0 : Fontsize.l=8 : EndIf
FontID.l=LoadFont(0,fontname.s,fontsize.l)
;UseImage(0)
IconWidth.l = ImageWidth()
IconHeight.l = ImageHeight()
rd.l = Red(fontcolor.l)
gn.l = Green(fontcolor.l)
bl.l = Blue(fontcolor.l)
;Hintergrundfarbe des Fensters ermitteln, wenn backcolor = -1
If backcolor.l=-1
If StartDrawing (WindowOutput())
backcolor.l=Point(5, 5)
StopDrawing ()
EndIf
EndIf
;Weiter im Text
ImgTmp.l=CreateImage (#PB_Any,width.l,height.l)
If ImgTmp.l<>0
UseImage(ImgTmp.l)
If StartDrawing (ImageOutput())
DrawingMode(0)
Box (0,0,width.l,height.l,backcolor.l)
If text.s=""
DrawImage (image.l,(width.l-IconWidth.l)/2,(height.l-IconHeight.l)/2)
Else
DrawImage (image.l,(width.l-IconWidth.l)/2,(((height.l/3)*2)-IconHeight.l)/2)
DrawingMode(1)
DrawingFont(FontID.l)
FrontColor (rd.l,gn.l,bl.l)
tmplen.l=(width.l-TextLength(text.s)) / 2
Locate (tmplen.l,((height.l/3)*2)-(fontsize.l/2))
DrawText(text.s)
EndIf
StopDrawing ()
EndIf
EndIf
ButtonImageGadget (gadget.l,x.l,y.l,width.l,height.l,UseImage(ImgTmp.l))
EndProcedure
Code: Alles auswählen
If OpenWindow (1,100,100,200,200,#PB_Window_SystemMenu,"test")
If CreateGadgetList (WindowID(1))
image.l=LoadImage (0,"neu.ico")
;ButtonIconGadget (1,50,50,50,50,"Neu","Tahoma",10,RGB(0,0,255),RGB(255,255,0),image.l)
ButtonIconGadget (1,50,50,35,35,"Neu","",0,0,-1,image.l)
EndIf
Repeat
ev.l=WaitWindowEvent()
If ev.l=#PB_Event_Gadget
If EventGadgetID() = 1
;SetGadgetState(1,image.l)
;DisableGadget(1,1)
EndIf
EndIf
Until ev.l=#PB_Event_CloseWindow
EndIf
End
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
-
- Beiträge: 207
- Registriert: 09.12.2004 22:09
Versteh ich nicht. So soll's aussehen:

Wie erreiche ich das ?

Wie erreiche ich das ?
Zuletzt geändert von pickelrobert am 22.01.2006 21:36, insgesamt 1-mal geändert.
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
-
- Beiträge: 207
- Registriert: 09.12.2004 22:09