ImageGadget - StringGadget - anscheinendes Redraw Problem

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

RiSiNG hat geschrieben:Gibt es vll. noch eine elegantere Möglichkeit, d.h. das der Text erst gar nicht verschwindet?
ja, gibt es: ImageGadget weglassen ;-)

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Gibt es vll. noch eine elegantere Möglichkeit, d.h. das der Text erst gar nicht verschwindet?
Klar, lass das Stringgadget weg, Subclasse das ImageGadget, fange
Keyevents ab und Zeichne den Text :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

ts-soft hat geschrieben:Klar, lass das Stringgadget weg, Subclasse das ImageGadget, fange
Keyevents ab und Zeichne den Text :mrgreen:
Whow! Das ist ja noch viel eleganter :allright:

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Es gibt aber auch eine ganz einfache Lösung und weil heute Dienstag ist :mrgreen:

Code: Alles auswählen

win=OpenWindow(0,0,0,400,300,"Test v1.0  |  2007 By RiSiNG",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
CreateGadgetList(win)
ContainerGadget(1,5,230,254,24)
SetGadgetColor(1, #PB_Gadget_BackColor, $FFFFFF)
StringGadget(0,5,5,232,20,"test test",#PB_String_BorderLess)
GadgetToolTip(0,"test test")
CloseGadgetList()

Repeat
  Select WaitWindowEvent()
    Case #WM_CLOSE
      End
  EndSelect
ForEver
Und noch einen für morgen:

Code: Alles auswählen

win=OpenWindow(0,0,0,400,300,"Test v1.0  |  2007 By RiSiNG and ts-soft",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
CreateGadgetList(win)
  StringGadget(0,7,232,250,20,"test test",#PB_String_BorderLess) 
    GadgetToolTip(0,"test test")
  CreateImage(0,254,24)
    StartDrawing(ImageOutput(0))
      Box(0,0,254,24,RGB(255,255,255))
    StopDrawing()
  ImageGadget(1,5,230,254,24,ImageID(0)) 
  SetParent_(GadgetID(1), GadgetID(0))
Repeat
  Select WaitWindowEvent()
    Case #WM_CLOSE
      End
  EndSelect
ForEver
:mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Beitrag von D@nte »

Dein Code:

Code: Alles auswählen

CreateGadgetList(win)
  StringGadget(0,7,232,250,20,"test test",#PB_String_BorderLess) 
    GadgetToolTip(0,"test test")
  CreateImage(0,254,24)
    StartDrawing(ImageOutput(0))
      Box(0,0,254,24,RGB(0,0,0))   ; zur besseren Übersicht "schwarz"
    StopDrawing()
  ImageGadget(1,5,230,254,24,ImageID(0)) 
Repeat
>das ich die linke oder rechte Seite um 1-2px mit Hilfe des ImageGadgets verlängere

Alternativ dann so:

Code: Alles auswählen

CreateGadgetList(win)
  StringGadget(16,10,232,250,20,"",#PB_String_BorderLess)
  CreateImage(0,252,2)
    StartDrawing(ImageOutput(0))
      Box(0,0,250,250,RGB(0,0,0))
    StopDrawing()
  ImageGadget(17,10,230,252,2,ImageID(0))

  CreateImage(0,2,22)
    StartDrawing(ImageOutput(0))
      Box(0,0,250,250,RGB(0,0,0))
    StopDrawing()
  ImageGadget(18,260,230,254,2,ImageID(0))
Repeat
Ja ich weiß Thomas hat grad auch 2 Lösungen gepostet aber es heißt ja viele Wege führen nach Rom undso...
Benutzeravatar
RiSiNG
Beiträge: 92
Registriert: 18.06.2006 10:31
Kontaktdaten:

Beitrag von RiSiNG »

Danke euch allen! Hab auch noch ne alternative Lösung gefunden! :mrgreen:
Antworten