Seite 1 von 1

Fenster Maximieren Anzeigefehler

Verfasst: 22.03.2012 16:36
von LuZiF3R
Hallo, bin recht neu mit PureBasic zugange und hab eine kleine Anwendung programmiert.
Nun habe ich eher ein anzeigeproblem, wenn ich das fenster maximiere(siehe Bild).
http://dl.dropbox.com/u/14288371/Pics/anzeigefehler.png
wenn ich dann mit der maus über die einzelnen gadgets drüberfahre, werden sie wieder normal dargestellt. Was kann ich machen, damit ich diesen Anzeigefehler beheben kann.
Bei einer Größenänderung des Fensters lasse ich eine Prozedur laufen, welche über zb.

Code: Alles auswählen

ResizeGadget(410,Breite - 310 - (Breite -920)/2,   73+a, #PB_Ignore, #PB_Ignore)
an die neue/zentrierte Position verrücke.

vielen Dank im Vorraus

Re: Fenster Maximieren Anzeigefehler

Verfasst: 22.03.2012 17:17
von ts-soft
Herzlich Willkommen!

Ich denke mal, Deine Gadgets überlappen sich, oder Du zeichnest im Fenster.

Ansonsten bitte einen auf das min. reduzierten, ausführbaren Beispielcode posten,
damit man den Fehler nachvollziehen kann.

Gruß
Thomas

Re: Fenster Maximieren Anzeigefehler

Verfasst: 22.03.2012 17:22
von LuZiF3R
ok ich versuchs mal.

Code: Alles auswählen

      Event = WaitWindowEvent()
      If GetActiveWindow()=#HAUPT
        Select Event
          Case #PB_Event_SizeWindow
            windowresize()
          .........
        Endselect
      EndIf

Code: Alles auswählen

Procedure windowresize()
  Breite = WindowWidth(#HAUPT)
  Hoehe = WindowHeight(#HAUPT)
  a = (Hoehe - 700)/2
  
  ResizeGadget(411,Breite - 310 - (Breite -920)/2,  113+a, #PB_Ignore, #PB_Ignore)
  .............
EndProcedure
in windowresize() lass jedem Gadget eine neue Position zuweisen, die Abmessungen bleiben aber die gleichen

Re: Fenster Maximieren Anzeigefehler

Verfasst: 22.03.2012 17:46
von LuZiF3R
hier nochmal der komplette code, wo ich das interface zeichne mit der resizeprozedur.
alles andere hab ich mal rausgeschnitten, der fehler tritt trotzdem bei mir auf.

http://dl.dropbox.com/u/14288371/Punktspiel.pb

Re: Fenster Maximieren Anzeigefehler

Verfasst: 22.03.2012 18:14
von ts-soft
Wenn es nur für Windows ist, dann füge mal:

Code: Alles auswählen

InvalidateRect_(WindowID(#HAUPT), 0, 1)
hinter dem Loop, also am Ende von windowresize(), ein.
(Ansonsten müsste man jetzt die Reihenfolge solange ändern, bis es passt,
da fehlt mir die Lust zu :mrgreen: )

Gruß
Thomas

Re: Fenster Maximieren Anzeigefehler

Verfasst: 22.03.2012 18:16
von LuZiF3R
vielen dank, funzt ^^

Re: Fenster Maximieren Anzeigefehler

Verfasst: 29.03.2012 16:59
von Sven
Könnte man nicht die Gadgets auf ein Container-Gadget setzen und dann nur dieses verschieben, wenn die Größe der einzelnen Gadgets eh gleich bleibt?