Animate / CenterControl()

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Animate / CenterControl()

Beitrag von AUGE_OHR »

hi,

die Datei c:\ALASKA\XPPW32\Source\samples\basics\DBBMP\Animate.prg kennt ihr wohl.
nun ist es, wie viele GUI Sample, NICHT auf XbpDialog aufgebaut ... :(

das umschreiben war weniger das Problem ... aber ich bekam kein Bild zu sehen :angry4:

nun kann ich reproduzieren woran es bei mir lag

Code: Alles auswählen

   oDlg := XBPDIALOG() :new( APPDESKTOP(),,,,,.F. )
   oDlg:close := { | mp1, mp2, obj | lExit := .T. }
   oDlg:create()
   //
   // warum MUSS hier ein CenterControl() stehen ?
   //
   CenterControl(oDlg)
   oDlg:show()
und das macht für mich keinen Sinn ??? was macht CenterControl() hier "extra" und wie komme ich ohne CenterControl() zu einem Bild ???
Dateianhänge
ANIMATE.ZIP
(1.84 KiB) 266-mal heruntergeladen
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Animate / CenterControl()

Beitrag von brandelh »

CenterControl() zentriert ein Control in seinem Parent, hier sollte es also den oDlg auf dem Bildschirm zentrieren.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Animate / CenterControl()

Beitrag von AUGE_OHR »

moin,
brandelh hat geschrieben:CenterControl() zentriert ein Control in seinem Parent, hier sollte es also den oDlg auf dem Bildschirm zentrieren.
"was" CenterControl() machen soll ich mir durchaus klar aber siehe dir bitte mal das Demo an und probiere es mit/ohne CenterControl().
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Animate / CenterControl()

Beitrag von brandelh »

Hallo Jimmy,

habe dazu aktuell keine Zeit, die Maschine raucht ;-)
aber wenn dir klar ist, was centercontrol macht, dann müsste dir klar sein, dass es mit der Anzeige selbst nichts zu tun hat.
Es ändert nur die Position. Wenn dein Bild nicht angezeigt wird, könnte die Größe oder der letzte Parameter damit zu tun haben ...
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Animate / CenterControl()

Beitrag von AUGE_OHR »

brandelh hat geschrieben:Es ändert nur die Position. Wenn dein Bild nicht angezeigt wird, könnte die Größe oder der letzte Parameter damit zu tun haben ...
Hubert, ich würde es nicht in das Forum stellen wenn es nicht wirklich merkwürdig wäre was da passiert und ich eine Idee hätte was da komisches passiert.
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Animate / CenterControl()

Beitrag von brandelh »

ok, das centercontrol() verschiebt das control in die Mitte.
Nur wenn das Dialogfenster in der Mitte steht, werden die ... etwas seltsamen Größenberechnungen der Bitmap richtig durchgeführt, sonst scheinen die negative Werte zu erhalten.
Wenn man nämlich das "leere" Fenster größer macht, sieht man die Zahlen auf dem Kopf unten stehen.
Vermutlich wird die Grafikausgabe um die Zahlen erweitert, was bei größeren Werten oben Grafik unten Text und alles normal sichtig darstellt.
Woran das nun genau im Code liegt, sorry dafür ist mir das zu verworren (ich denke das ist ein typisches Alaska Beispiel, viele Funktionen und Klassen machen die Übersichtlichkeit nicht besser ;-) )

PS: bei Xbase 2.0 und 1.90.355 sehe ich keinen Unterschied, nur die Dateien liegen wo anders (fixe Pfade ! :roll: )
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Animate / CenterControl()

Beitrag von AUGE_OHR »

brandelh hat geschrieben:Nur wenn das Dialogfenster in der Mitte steht, werden die ... etwas seltsamen Größenberechnungen der Bitmap richtig durchgeführt, sonst scheinen die negative Werte zu erhalten.
Wenn man nämlich das "leere" Fenster größer macht, sieht man die Zahlen auf dem Kopf unten stehen.
Aha ... ja ... das ist doch schon mal ein Tip wo ich ansetzten kann, Danke.
gruss by OHR
Jimmy
Antworten