Seite 1 von 1

[erledigt] PureRESIZE-Probleme

Verfasst: 05.01.2006 01:49
von scholly
moin, moin...
Ich versuche gerade PureRESIZE zu verwenden und irgendwie mache/verstehe ich da was falsch. Kann mir jemand erklären, warum meine Gui nicht das macht, was sie soll ?

Code: Alles auswählen

main:; der Hauptteil

; Konstanten
;#########################################################################################
; Anfangs stellen wir erstmal ein paar Konstanten ein

font_name$    = "Monospac821 BT"  ;wenn der nicht gefällt, kann afaik jeden Font zwischen 8
font_size     = 10                ;und 10 nehmen -- eventuell geht die Optik flöten


no_win_1$     = "Hauptfenster kann nicht geöffnet werden !!"
no_gadlist_1$ = "Gadget-Liste konnte nicht eingerichtet werden !!"

LoadFont(1,font_name$,font_size)
SetGadgetFont(#PB_Default,UseFont(1))

Gosub fensterbau

Repeat
  EventID = WaitWindowEvent()
Until EventID = #PB_Event_CloseWindow

CloseFont(1)

End; main

;#########################################################################################
fensterbau:  
;{

If  OpenWindow(1,10,10,780,190, #PB_Window_SystemMenu | #PB_Window_ScreenCentered |#PB_Window_SizeGadget,"resizetest")
    PureRESIZE_SetWindowMinimumSize(1,780,180)
    If CreateGadgetList(WindowID(1))
      Gosub create_input
    Else
      MessageRequester("Bad news:",no_gadlist_1$,#PB_MessageRequester_Ok)    
    EndIf
Else
  MessageRequester("Bad news:",no_win_1$,#PB_MessageRequester_Ok)
  End    
EndIf
;}
Return ;fensterbau      Bermuda-Dreieck - Das Tor zu einer anderen Welt
;#########################################################################################
create_input:
;{
TextGadget      (101,  5,006, 50, 20, "titel:")   :PureRESIZE_SetGadgetResize(101,1,1,1,1) 
  StringGadget  (102, 55,003,355, 24, "")         :PureRESIZE_SetGadgetResize(102,1,1,1,0)
TextGadget      (103,415,006, 50, 20, "genre:")   :PureRESIZE_SetGadgetResize(103,0,1,0,0)
  StringGadget  (104,470,003,190, 24, "")         :PureRESIZE_SetGadgetResize(104,0,1,0,0)
  ButtonGadget  (105,661,003, 24, 26, "?")        :PureRESIZE_SetGadgetResize(105,0,1,0,0)
TextGadget      (106,690,006, 45, 20, "jahr:")     :PureRESIZE_SetGadgetResize(106,0,1,0,0)
  StringGadget  (107,735,003, 40, 24, "1977", #PB_String_Numeric)
                                                  :PureRESIZE_SetGadgetResize(107,0,1,0,0)   
  
Frame3DGadget   (900,  1, 30,778,  2,"",#PB_Frame3D_Flat)

TextGadget      (108,  5,036, 90, 20, "mtyp:") 
  ComboBoxGadget(109, 95,033, 80,116)
TextGadget      (110,185,036,100, 20, "mname:")
  StringGadget  (111,285,033,120, 24, "")
  ButtonGadget  (112,407,033, 24, 26, "?")
TextGadget      (113,440,036, 50, 20, "lager:")
  ComboBoxGadget(114,490,033, 60,100)
TextGadget      (115,560,036, 60, 20, "quelle:")
  ComboBoxGadget(116,615,033, 60,100)  
TextGadget      (117,685,036, 70, 20, "dauer:")
  StringGadget  (118,740,033, 35, 24, "123", #PB_String_Numeric)  
  
Frame3DGadget   (901,  1, 60,778,  2,"",#PB_Frame3D_Flat)

TextGadget      (119,  5,066, 70, 20, "otitel:")
  StringGadget  (120, 75,063,170, 24, "")
TextGadget      (121,255,066, 75, 20, "plist:") 
  StringGadget  (122,330,063,195, 24, "")
  ButtonGadget  (123,527,063, 24, 26, "?")
TextGadget      (124,555,066, 70, 20, "position:")
  StringGadget  (125,625,063, 20, 24, "1", #PB_String_Numeric)
TextGadget      (126,655,066, 60, 20, "status:")
  ComboBoxGadget(127,715,063, 60,100)
 
Frame3DGadget   (902,  1, 90,778,  2,"",#PB_Frame3D_Flat)

;}
  Return; create_input
Beim ersten TextGadget habe ich alle 4 Parameter (left,top,right,bottom) auf 1 = wahr gesetzt. Es sollte also gelockt sein und seine Größe nicht verändern.
Wenn man aber das Fenster nach unten vergrößert, werden die darunterliegenden Elemente verdeckt; das Textgadget scheint sich zu vergrößern. Gleiches, wenn ich das Fenster seitwärts vergrößere.
Warum?
Das dazugehörige StringGadget resized richtig, wenn ich die Fensterbreite vergrößere, aber das dahinterliegende StringGadget (104) resized nicht, obwohl ich glaube, dort die richtigen Werte gesetzt zu haben.
Warum? Geht das generell nicht, daß 2 StringGadgets in einer "Zeile" resizen ?

Entweder ich verstehe die Anleitung nicht richtig, oder die Zuordnung wahr/falsch zum "locken", also "festschreiben" von "left,top,right,bottom" tut nicht so, wie in der Anleitung steht.

Wer mag mir helfen / mich erleuchten ?

tia...
scholly

Re: PureRESIZE-Probleme

Verfasst: 05.01.2006 03:12
von Donald
scholly hat geschrieben:Beim ersten TextGadget habe ich alle 4 Parameter (left,top,right,bottom) auf 1 = wahr gesetzt. Es sollte also gelockt sein und seine Größe nicht verändern.
Hier, so bleibt Dein TextGadget wie Du es beschrieben hast
PureRESIZE_SetGadgetResize(101,1,1,0,0)

Verfasst: 05.01.2006 03:17
von ts-soft
Für OS-Unabhängigkeit muß er sich das sowieso umschreiben :wink: , aber sollte ja kein Problem sein, geht auch ohne API :allright:

Verfasst: 05.01.2006 03:26
von Donald
ts-soft hat geschrieben:Für OS-Unabhängigkeit muß er sich das sowieso umschreiben :wink: , aber sollte ja kein Problem sein, geht auch ohne API :allright:
Da hast schon recht Thomas, aber ist scheinbar momentan nur für Win.
Und so wie scholly sich das ganze Resize´n vorstellt (falls ich
es richtig verstanden habe) geht eh nicht mit der Lib, da muß
er sich schon selbst seine Resize-Routine schreiben.

Verfasst: 05.01.2006 03:53
von ts-soft
Historie - Version 3.90 hat geschrieben:- Hinzugefügt: Neuer 'Size-Handler' von Fr34k, welcher automatische (Echtzeit-) Größenanpassung von Fenstern (mit #PB_Event_SizeWindow) ohne Callback ermöglicht !
Das gilt doch auch für Linux oder nicht?

Re: PureRESIZE-Probleme

Verfasst: 05.01.2006 17:00
von scholly
Donald hat geschrieben:Hier, so bleibt Dein TextGadget wie Du es beschrieben hast
PureRESIZE_SetGadgetResize(101,1,1,0,0)
Danke, aber was ist jetzt falsch? Die Doku oder mein Verständnis der Doku?
Vielleicht liest gnozal das hier ja zufälligerweise und klärt das, denn blind rumprobieren macht bei vielen Gadgets kein Spaß mehr :(
Und so wie scholly sich das ganze Resize´n vorstellt (falls ich
es richtig verstanden habe) geht eh nicht mit der Lib
Ui, zu Weihnachten ne Glaskugel bekommen? ;)
Ich hatte gehofft, daß bei richtigen Parameter folgendes Verhalten erreicht wird:
- Combos behalten ihre Größe
- die StringGadgets von "jahr", "dauer" und "position" behalten ihre Größe
- die StringGadgets von "titel", "genre","mname", "otitel" und "plist" verändern sich.
Nun Frage ich mich natürlich, ob das generell nicht erreichbar ist oder ob es daran liegt, daß ich die Parameter (true/false) falsch setzte, weil ich die Doku nicht richtig interpretiere oder selbige falsch ist.

@Thomas
Ich hab die OS-Unabhängigkeit nicht aufgegeben, aber mein Kompromiss besteht z.Zt. darin, die App ersma so für Win fertig zu machen, daß hinterher nur an den entprechenden Stellen Linux-/Mac-Code eingesetzt werden braucht. Und da ich das Rad nur dann neu erfinde möchte, wenn mir die vorhandenen Räder nicht ausreichen (AVI-Infos), greif ich natürlich gerne auf Sachen zurück, die mir das Leben erleichtern (PureResize und -LVSort und was ich eventuell noch entdecke ;))

Tja, und bis die Diskrepanz zwischen Doku und Realität mit wahr/falsch geklärt ist, bleibt mir wohl ersma nur rumtesten :o