Probleme mit PureRESIZE [bitte schaut nochmal rein]

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Probleme mit PureRESIZE [bitte schaut nochmal rein]

Beitrag von PureBasic4.0 »

Hi, Leute

ich habe ein kleines Problem mit PureRESIZE.

Hier der Code:

Code: Alles auswählen

Procedure Open_Game()
  If OpenWindow(#Game, 192, 6, 826, 670, "Deutsch-Bingo © 2007 by Anton Wuerfel - Spielen",  #PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget |  #PB_Window_SizeGadget | #PB_Window_Invisible | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#Game))
      TextGadget(#Text_6, 10, 10, 80, 20, "Verbunden mit")
      TextGadget(#Game_ConnectedTo, 110, 10, 690, 20, "", #PB_Text_Center | #PB_Text_Border)
      Frame3DGadget(#Frame3D_4, 10, 470, 800, 120, "Infos")
      ListIconGadget(#Game_Messages, 20, 490, 780, 90, "Clientname", 250)
      AddGadgetColumn(#Game_Messages, 1, "Uhrzeit", 150)
      AddGadgetColumn(#Game_Messages, 2, "Nachricht", 376)
      Frame3DGadget(#Frame3D_5, 10, 50, 800, 410, "Spielbrett")
      TextGadget(#Text_8, 20, 80, 80, 20, "Aktuelles Wort")
      TextGadget(#Game_Word, 110, 80, 690, 20, "", #PB_Text_Center | #PB_Text_Border)
      ButtonGadget(#Game_Exit, 210, 600, 370, 50, "Aus dem Spiel aussteigen")
      SetGadgetFont(#Game_Exit, FontID3)
      Frame3DGadget(#Frame3D_6, 30, 120, 580, 310, "Spielfläche")
      ButtonGadget(#Game_Button1, 40, 150, 170, 70, "")
      ButtonGadget(#Game_Button2, 220, 150, 170, 70, "")
      ButtonGadget(#Game_Button3, 400, 150, 170, 70, "")
      ButtonGadget(#Game_Button4, 40, 240, 170, 70, "")
      ButtonGadget(#Game_Button5, 220, 240, 170, 70, "")
      ButtonGadget(#Game_Button6, 400, 240, 170, 70, "")
      ButtonGadget(#Game_Button7, 40, 330, 170, 70, "")
      ButtonGadget(#Game_Button8, 220, 330, 170, 70, "")
      ButtonGadget(#Game_Button9, 400, 330, 170, 70, "")
      ButtonGadget(#Game_Bingo, 630, 240, 160, 60, "!BINGO!")
      SetGadgetFont(#Game_Bingo, FontID4)
      PureRESIZE_SetGadgetResize(#Text_6,#True,#True,#False,#True)
      PureRESIZE_SetGadgetResize(#Game_ConnectedTo,#False,#False,#True,#False)
      PureRESIZE_SetGadgetResize(#Frame3D_4,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Messages,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Frame3D_5,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Word,#True,#True,#False,#True)
      PureRESIZE_SetGadgetResize(#Game_Exit,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Frame3D_6,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Button1,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Button2,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Button3,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Button4,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Button5,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Button6,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Button7,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Button8,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Button9,#True,#True,#False,#False)
      PureRESIZE_SetGadgetResize(#Game_Bingo,#True,#True,#False,#False)
    EndIf
  EndIf
EndProcedure
Jedes Mal, wenn ich das Fenster maximiere oder die größe verändere, passiert folgendes:

1. Nicht verschoben

Bild

2. Etwas weiter verschoben

Bild

3. Noch etwas weiter verschoben

Bild

4. Ganz weit verschoben

Bild

Für alle, denen die 800x600 auflösung zu klein ist - das oberste Label #Game_ConnectedTo verschiebt immerzu seine Position, während die 9 Buttons überhaupt nichts machen.

Was mache ich (bzw. PureRESIZE) falsch? Unicode ist NICHT aktiviert.
Zuletzt geändert von PureBasic4.0 am 28.06.2007 17:30, insgesamt 1-mal geändert.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Probleme mit PureRESIZE

Beitrag von Kiffi »

PureBasic4.0 hat geschrieben:Was mache ich (bzw. PureRESIZE) falsch?
PureRESIZE macht gornix falsch. Du tackerst die Gadgets nur falsch fest.
a²+b²=mc²
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

OK. Erzähl mal. Ihr habt doch bestimmt mehr Ahnung von PureRESIZE als ich.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

PureBasic4.0 hat geschrieben:OK. Erzähl mal. Ihr habt doch bestimmt mehr Ahnung von PureRESIZE als ich.
Der Lib liegt eine Hilfe-Datei bei, die Du Dir wenigstens mal anschauen
solltest.
PureRESIZE-Hilfe hat geschrieben:PureRESIZE_SetGadgetResize(GadgetNumber.l, Locked_Left.l, Locked_Top.l, Locked_Right.l, Locked_Bottom.l, [ParentGadget.l])
a²+b²=mc²
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

Ob du es glaubst, oder nicht: ich habe mir die hilfe durchgelesen. Nur war mache ich falsch? Bitte postet nicht den mitgelieferten beispielcode. Ich kenn den.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

Aber diese Zeile:

Code: Alles auswählen

      PureRESIZE_SetGadgetResize(#Game_ConnectedTo,#True,#True,#False,#True)
besagt doch eindeutig, dass sich das Gadget nur nach rechts ausbreiten darf. Aber es dehnt sich auch nach unten und oben aus, wenn man das Fenster verschiebt. Liegt da vielleicht doch ein Fehler in der Lib vor oder muss ich noch irgendwas initialisieren, bevor das alles richtig funktioniert? Habe jetzt auch zum Spaß mal mit UTF-8 ausprobiert - das Ergebnis bleibt dasselbe.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

PureBasic4.0 hat geschrieben:Aber diese Zeile:

Code: Alles auswählen

PureRESIZE_SetGadgetResize(#Game_ConnectedTo,#True,#True,#False,#True)
besagt doch eindeutig, dass sich das Gadget nur nach rechts ausbreiten darf.
das ist korrekt. Und nun schau mal weiter oben, was Du in Deinem Code
stehen hast.
PureBasic4.0 hat geschrieben:Liegt da vielleicht doch ein Fehler in der Lib vor
der Fehler sitzt eindeutig vor Deinem Monitor.
a²+b²=mc²
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

Kiffi,

ich möchte das Publikum befragen :lol: :lol: :lol:

Jetzt mal ernsthaft: Lass halt die Katze mal aus dem Sack
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

PureBasic4.0 hat geschrieben:Lass halt die Katze mal aus dem Sack
Richtig (wie in Deinem vorletzten Posting geschrieben):

Code: Alles auswählen

PureRESIZE_SetGadgetResize(#Game_ConnectedTo,#True,#True,#False,#True)
Falsch (wie in Deinem Urspungsposting geschrieben):

Code: Alles auswählen

PureRESIZE_SetGadgetResize(#Game_ConnectedTo,#False,#False,#True,#False) 
Aufgabe für Dich: Finde die 4 Unterschiede.
a²+b²=mc²
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

danke, kiffi. hab's jetzt geschnallt.

Allerdings hab ich noch ein Problem mit PureRESIZE. Die 9 Buttons sollen sich an die Größe des übergeordneten Frames anpassen. Habe (denke ich zumindest) schon alle #True und #False kombinationen ausprobiert, aber entweder überlappen sich die Buttons oder verschieben einfach nur ihre Position. Gibt's dafür ne möglickeit, oder muss ich das manuell resizen?
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Antworten