Presentation-Parameter abfragen
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Presentation-Parameter abfragen
Hallo,
weiß jemand, ob und wie ich Werte von Presentation-Parameter abfragen kann? Mit geht es dabei insbesondere um XBP_PP_ORIGIN. Der wird nicht mal im Debugger angezeigt.
Jan
weiß jemand, ob und wie ich Werte von Presentation-Parameter abfragen kann? Mit geht es dabei insbesondere um XBP_PP_ORIGIN. Der wird nicht mal im Debugger angezeigt.
Jan
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Presentation-Parameter abfragen
XBP_PP_ORIGIN ist ein #define Wert, der wenn er in deinem Quellcode vorkommt durch den Präprozessor nach z.Zeit 300 (definiert in xbp.ch) erstetzt wird. Wahrscheinlich verweißt er danach auf ein Arrayelement ...Jan hat geschrieben:Werte von Presentation-Parameter abfragen kann?
... insbesondere um XBP_PP_ORIGIN.
Welchen ORIGIN brauchst du denn ?
XbpDialog() hat eine Instanzvariable dieses Namens: für Owner, Fenster und Maus ... ?
Eventuell brauchst du auch nur ::currentPos() ?
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Sorry, ich verstehe nur Bahnhof ... bei welcher Klasse / Anwendungsproblem ?Jan hat geschrieben:Hallo Hubert,
ich brauche das um zu unterscheiden, ob der TOPLEFT oder BOTTOMLEFT gesetzt ist. Abhängig davon muß ich unterschiedliche Aktionen ausführen.
Jan
Ich fürchte, ich bin hier keine Hilfe
Gruß
Hubert
Hubert
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Hallo, Jan.
Ich finde nicht eine einzige Referenz auf diese Defines. Standardmäßig müßte immer BOTTOMLEFT gesetzt sein (Dialoge beziehen sich mit ihrem Koordinatensystem auf die Ecke unten links des sichtbaren Desktops). Gegenfrage: Wer sollte das denn wo in Deiner Anwendung gesetzt haben?
Code: Alles auswählen
ich brauche das um zu unterscheiden, ob der TOPLEFT oder BOTTOMLEFT gesetzt ist.
Herzlich,
Tom
Tom
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Hallo, Jan.
Du kannst von jedem Objekt (also auch Dialog) mit :SetPresParam() die Presentation-Parameter abfragen:
a: = oXbp:SetPresParam()
In diesem Array (zweidimensional) findest Du einen Eintrag, der XBP_PP_ORIGIN entspricht (erstes Element ist 300), der zweite Wert entspricht der gewählten Einstellung, ist aber standardmäßig NIL.
Du kannst von jedem Objekt (also auch Dialog) mit :SetPresParam() die Presentation-Parameter abfragen:
a: = oXbp:SetPresParam()
In diesem Array (zweidimensional) findest Du einen Eintrag, der XBP_PP_ORIGIN entspricht (erstes Element ist 300), der zweite Wert entspricht der gewählten Einstellung, ist aber standardmäßig NIL.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
weil in der XBP.CH der Wert XBP_PP_ORIGIN mit 300 definiert ist.Jan hat geschrieben:woher wisst Ihr, daß das der gesuchte Parameter ist?
Schreib doch mal ? XBP_PP_ORIGIN und compiliere mit /P, dann sieh
in der PPO Datei nach und dort wirst du in der Zeile ? 300 finden.
Dieser Austausch ist case sensitive, d.h. XBP_PP_ORIGIN <> Xbp_PP_ORIGIN
Soweit ich weiß ist Xbase IMMER BOTTOMLEFT, also wird der Parameter wohl entweder für die Zunkunft oder der Vollständigkeit halber definiert sein.Jan hat geschrieben:Es ist egal ob ich TOPLEFT oder BOTTOMLEFT einsetze, der bleibt immer auf {300, NIL}.
Wo liegt das Problem, erklär und das nochmals ?Jan hat geschrieben:Hilft mir also nicht weiter. Leider.
Alle Fenster und Koordinaten haben in Xbase (leider) ihren Ursprung links unten ... dies kann über rigin(x) abgefragt werden ...
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hubert,
ich kann das BOTTOMLEFT nicht leiden. Es ist mir zu kompliziert, ständig Dialoge und Ausdrucke aufwändig zu berechnen, nur damit ich am Seitenanfang, der aber nicht der Anfang des Koordinatensystemes ist, auch anfangen kann.
Daher arbeite ich grundsätzlich mit TOPLEFT. Was auch einwandfrei funktioniert (ging schon mit 1.82, mit 1.9 und einer überarbeiteten DLL ist es jetzt aber perfekt).
Jan
ich kann das BOTTOMLEFT nicht leiden. Es ist mir zu kompliziert, ständig Dialoge und Ausdrucke aufwändig zu berechnen, nur damit ich am Seitenanfang, der aber nicht der Anfang des Koordinatensystemes ist, auch anfangen kann.
Daher arbeite ich grundsätzlich mit TOPLEFT. Was auch einwandfrei funktioniert (ging schon mit 1.82, mit 1.9 und einer überarbeiteten DLL ist es jetzt aber perfekt).
Jan
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo Jan,
du hast eine System-DLL angepasst ? Respekt.
Ich habe bei meiner Druckerklasse nach außen auf auf TopDown umgestellt, indem ich das Koordinatensystem umrechne. Durch die Vererbung war das nicht so dragisch.
Wenn du selbst den Parameter bei deinen Programmen aber nicht bei allen setzt, kommt es natürlich drauf an wie Xbase-Controls darauf reagieren.
Dennoch bist doch du derjenige, der den Parameter setzt, also kannst du das auch ablegen. Wenn es nicht so geht wie vorgesehen, mach eine eigene Klasse:
CLASS TD_Dialog FROM XbpDialog()
var IsTopDown
...
Method TD_Dialog:init(......)
::XbpDialog:init(......) // TOP Down wie du es auch immer machst.
::IsTopDown := .t.
...
Sind jetzt alle XbpParts auf TopDown oder ButtomUp ???
du hast eine System-DLL angepasst ? Respekt.
Ich habe bei meiner Druckerklasse nach außen auf auf TopDown umgestellt, indem ich das Koordinatensystem umrechne. Durch die Vererbung war das nicht so dragisch.
Wenn du selbst den Parameter bei deinen Programmen aber nicht bei allen setzt, kommt es natürlich drauf an wie Xbase-Controls darauf reagieren.
Dennoch bist doch du derjenige, der den Parameter setzt, also kannst du das auch ablegen. Wenn es nicht so geht wie vorgesehen, mach eine eigene Klasse:
CLASS TD_Dialog FROM XbpDialog()
var IsTopDown
...
Method TD_Dialog:init(......)
::XbpDialog:init(......) // TOP Down wie du es auch immer machst.
::IsTopDown := .t.
...
Sind jetzt alle XbpParts auf TopDown oder ButtomUp ???
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hallo Hubert,
um etwas richtig zu stellen: Ich habe keine System-DLL angepasst. Till hat auf meine "Reklamation" hin eine 1.9-DLL korrigiert.
Nun, ich setze bei meinem Hauptdialog in der Main-Prozedur den PP auf {XBP_PP_ORIGIN, XBP_ORIGIN_TOPLEFT}. Und damit ist alles auf TOPLEFT umgestellt. Da ja vererbt wird. So kann man dann endlich vernünftig im Koordinatensystem ohne Verrenkungen arbeiten
Leider muß ich gestehen daß ich von dem, was Du in Deinem letzten Beitrag geschrieben hast, keine 10 % verstanden habe
Jan
um etwas richtig zu stellen: Ich habe keine System-DLL angepasst. Till hat auf meine "Reklamation" hin eine 1.9-DLL korrigiert.
Nun, ich setze bei meinem Hauptdialog in der Main-Prozedur den PP auf {XBP_PP_ORIGIN, XBP_ORIGIN_TOPLEFT}. Und damit ist alles auf TOPLEFT umgestellt. Da ja vererbt wird. So kann man dann endlich vernünftig im Koordinatensystem ohne Verrenkungen arbeiten
Leider muß ich gestehen daß ich von dem, was Du in Deinem letzten Beitrag geschrieben hast, keine 10 % verstanden habe
Jan
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo Jan,
ich meinte, dass du doch weißt ob TopLeft oder BottomLeft einstellt ist, das mußt du dir nur merken, egal ob in einer Public oder sonstwie.
Und wenn man eine eigene Klasse von der Basisklasse ableitet, die das MainFenster macht, und dort dann eine instanzvariable einbaut und den Zustand setzt, kann man diese später abfragen.
Was mich halt wundert ist, dass du später im Programm das ändern möchtest, das macht man doch nicht oder ?
ich meinte, dass du doch weißt ob TopLeft oder BottomLeft einstellt ist, das mußt du dir nur merken, egal ob in einer Public oder sonstwie.
Und wenn man eine eigene Klasse von der Basisklasse ableitet, die das MainFenster macht, und dort dann eine instanzvariable einbaut und den Zustand setzt, kann man diese später abfragen.
Was mich halt wundert ist, dass du später im Programm das ändern möchtest, das macht man doch nicht oder ?
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hubert,
so langsam beschleicht mich das Gefühl, daß Du mich mißverstanden hast. Ich möchte nichts nachträglich ändern. Und natürlich weiß ich, was ich selber nutze. Nämlich grundsätzlich TOPLEFT.
Ich schreiben gerade eine Klasse, die vermutlich nicht nur von mir genutzt werden wird. Und da gibt es einige Punkte drin, die nicht direkt auf TOPLEFT oder BOTTOMLEFT reagieren (können). Also muß ich vorher feststellen, was der jeweilige Entwickler da eingestellt hat. Um dann angemessen darauf reagieren zu können, ohne das da der jeweilige Entwickler "seine" Einstellungen nochmals angeben muß.
Jan
so langsam beschleicht mich das Gefühl, daß Du mich mißverstanden hast. Ich möchte nichts nachträglich ändern. Und natürlich weiß ich, was ich selber nutze. Nämlich grundsätzlich TOPLEFT.
Ich schreiben gerade eine Klasse, die vermutlich nicht nur von mir genutzt werden wird. Und da gibt es einige Punkte drin, die nicht direkt auf TOPLEFT oder BOTTOMLEFT reagieren (können). Also muß ich vorher feststellen, was der jeweilige Entwickler da eingestellt hat. Um dann angemessen darauf reagieren zu können, ohne das da der jeweilige Entwickler "seine" Einstellungen nochmals angeben muß.
Jan
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo Jan,
ok, soweit so klar.
Du hast 3 Möglichkeiten.
1. Frage bei Alaska nach, warum der Wert nicht gesetzt wird !
2. Benutze in deinem MAIN Programm eine Public, die du später in deiner Klasse abfragst. Wenn sie nicht vorhanden oder NIL (ist glaube ich das selbe) ist, dann handelt es sich um Standard BottomLeft.
3. Du kannst auch in deiner Klasse eine Instanzvariable benutzen, die standardmäßig auf BottomLeft steht und die du in deinem Programm einmalig anders setzen musst.
ok, soweit so klar.
Du hast 3 Möglichkeiten.
1. Frage bei Alaska nach, warum der Wert nicht gesetzt wird !
2. Benutze in deinem MAIN Programm eine Public, die du später in deiner Klasse abfragst. Wenn sie nicht vorhanden oder NIL (ist glaube ich das selbe) ist, dann handelt es sich um Standard BottomLeft.
3. Du kannst auch in deiner Klasse eine Instanzvariable benutzen, die standardmäßig auf BottomLeft steht und die du in deinem Programm einmalig anders setzen musst.
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hi Jan,
nochmals kurz zur Klasse ... ich nutze nicht XbpDialog für meine Fenster in den normalen Programmen sondern meine eigenen abgeleiteten Klassen.
Hier das Beispiel eines RootFensters:
nochmals kurz zur Klasse ... ich nutze nicht XbpDialog für meine Fenster in den normalen Programmen sondern meine eigenen abgeleiteten Klassen.
Hier das Beispiel eines RootFensters:
Code: Alles auswählen
* MDI_CLAS.PRG
*
* Abgeleitete Klassen f
Gruß
Hubert
Hubert
-
- Rekursionen-Architekt
- Beiträge: 205
- Registriert: Mo, 07. Aug 2006 10:18
- Wohnort: Leipzig
- Danksagung erhalten: 11 Mal
Hallo Jan,
meine Antwort kommt vielleicht ein wenig spät, aber vielleich kannst Du ja trotzdem noch etwas damit anfangen.
Die Funktion, die ich zum Abfragen von TopLeft benutze ist folgende:
Die Presentation Parameter des Xbp zu prüfen, für den man wissen möchte, ob BottomLeft oder TopLeft der Ursprung ist, funktioniert nur dann, wenn explizit für ihn Origin gesetzt wurde, andernfalls wird immer NIL zurückgegeben. Da der Xbp aber seine Eigenschaften (also auch Origin) vom Parent erbt, muss man eben dort prüfen, und ist Origin auch dort NIL, geht man eben zum Parent des Parent usw.
Übrigens habe ich selbst bisher mit TopLeft nur herumprobiert. Daher fallen mir spontan ein paar Fragen ein, die Du mir vielleicht beantworten könntest:
1. Was meintest Du weiter oben in diesem Thread damit, dass Du von Alaska eine korrigierte DLL erhalten hast? Sind DLL's der 1.9er Auslieferung in Hinsicht auf TopLeft-Verhalten fehlerbehaftet?
2. Ich habe, wenn ich TopLeft als Ursprung eingestellt habe, Probleme mit der Darstellung der Xbp, sobald der Dialog von Hand resized wird. Kennst Du das auch?
3. Verwendest Du den FormDesigner? Der kennt ja wohl nur BottomLeft! Falls Du damit arbeitest, wie rechnest Du von BottomLeft nach TopLeft um? Damit meine ich keine Funktion zur Koordinaten-Umrechnung, sondern ob Du eine Art von Automatismus, z.B. eine eigene Dialog-Klasse, einsetzt, die das für Dich erledigt!?
4. Da Du hier scheinbar der Einzige bist, der beim Dialogentwurf TopLeft als Ursprung verwendet (die Einstellung ist ja auch nirgendwo in der Xbase-Hilfe dokumentiert) noch eine abschließende Frage: Bist Du der Meinung, dass diese Möglichkeit ausgereift und praktikabel ist?
Tschüs,
Sören
meine Antwort kommt vielleicht ein wenig spät, aber vielleich kannst Du ja trotzdem noch etwas damit anfangen.
Die Funktion, die ich zum Abfragen von TopLeft benutze ist folgende:
Code: Alles auswählen
FUNCTION IsOriginTopLeft( oXbp )
LOCAL lRet := .F.
LOCAL oDesktop := AppDesktop()
LOCAL aPP
LOCAL nPos
while oXbp != oDesktop
aPP := oXbp:setPresParam()
nPos := AScan( aPP, { |a| a[1] == XBP_PP_ORIGIN } )
if aPP[nPos][2] != NIL
if aPP[nPos][2] == XBP_ORIGIN_TOPLEFT
lRet := .T.
endif
EXIT
endif
oXbp := oXbp:setParent()
enddo
RETURN lRet
Übrigens habe ich selbst bisher mit TopLeft nur herumprobiert. Daher fallen mir spontan ein paar Fragen ein, die Du mir vielleicht beantworten könntest:
1. Was meintest Du weiter oben in diesem Thread damit, dass Du von Alaska eine korrigierte DLL erhalten hast? Sind DLL's der 1.9er Auslieferung in Hinsicht auf TopLeft-Verhalten fehlerbehaftet?
2. Ich habe, wenn ich TopLeft als Ursprung eingestellt habe, Probleme mit der Darstellung der Xbp, sobald der Dialog von Hand resized wird. Kennst Du das auch?
3. Verwendest Du den FormDesigner? Der kennt ja wohl nur BottomLeft! Falls Du damit arbeitest, wie rechnest Du von BottomLeft nach TopLeft um? Damit meine ich keine Funktion zur Koordinaten-Umrechnung, sondern ob Du eine Art von Automatismus, z.B. eine eigene Dialog-Klasse, einsetzt, die das für Dich erledigt!?
4. Da Du hier scheinbar der Einzige bist, der beim Dialogentwurf TopLeft als Ursprung verwendet (die Einstellung ist ja auch nirgendwo in der Xbase-Hilfe dokumentiert) noch eine abschließende Frage: Bist Du der Meinung, dass diese Möglichkeit ausgereift und praktikabel ist?
Tschüs,
Sören
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hallo Sören,
erstmal Danke für Deinen Code. Probiere ich nacher oder morgen mal aus.
Zu Deinen Fragen:
1) Naja, es funktioniert schon sehr gut mit den Standard-DLL von 1.9. Es gab nur einen ganz speziellen Punkt, wo es ein Problem gab. Till hat mir da ausgeholfen. Du kannst sie sicher bei Alaska anfragen, wirst es aber wohl bald auch herunterladen können. Aber wie gesagt: Normalerweise geht es auch ohne. Schau Dir mal die PDR 5599 an für weitere Infos.
2) Ich resize eigentlich nie. Kann ich also nicht beantworten. Teste ich aber mal.
3) Nein, Formdesigner nutze ich nie.
4) Ja. Ganz eindeutig. Ich arbeite grundsätzlich nur noch TopLeft. Es mag vielleicht noch ein paar Punkte geben, wo das nicht wirklich umgesetzt ist, wie etwa beim Formdesigner. Deswegen ist die ganze Geschichte wohl auch noch undokumentiert.
Jan
erstmal Danke für Deinen Code. Probiere ich nacher oder morgen mal aus.
Zu Deinen Fragen:
1) Naja, es funktioniert schon sehr gut mit den Standard-DLL von 1.9. Es gab nur einen ganz speziellen Punkt, wo es ein Problem gab. Till hat mir da ausgeholfen. Du kannst sie sicher bei Alaska anfragen, wirst es aber wohl bald auch herunterladen können. Aber wie gesagt: Normalerweise geht es auch ohne. Schau Dir mal die PDR 5599 an für weitere Infos.
2) Ich resize eigentlich nie. Kann ich also nicht beantworten. Teste ich aber mal.
3) Nein, Formdesigner nutze ich nie.
4) Ja. Ganz eindeutig. Ich arbeite grundsätzlich nur noch TopLeft. Es mag vielleicht noch ein paar Punkte geben, wo das nicht wirklich umgesetzt ist, wie etwa beim Formdesigner. Deswegen ist die ganze Geschichte wohl auch noch undokumentiert.
Jan
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
1. Ideal wäre es, wenn standardmäßig bei dem Verkleinern eines Fensters (egal ob von oben oder unten) die Controls immer an der gleichen Stelle - in Bezug auf die linke obere Ecke - bleiben. Was nicht passt wird unten und rechts abgeschnitten.Jan hat geschrieben:2) Ich resize eigentlich nie. Kann ich also nicht beantworten. Teste ich aber mal.
Ohne Anpassung, der Resize Methode.
2. Möchte man die Controls in der Größe anpassen, kann man das ja in RESIZE erledigen.
3. Beim LeftBottom-Standard ist es aber tatsächlich so, dass die oberen Elemente verschwinden oder riesigen Platz dazwischen bekommen.
Dies setze ich in der Resize Methode zwar zurück, was ein Flackern erzeugt.
Wenn 1. und 2. für LeftTop zutrifft, wäre es ideal - auch wenn ich deshalb meine Druckerklasse anpassen müßte. Dort rechne ich intern immer auf LeftTop um. Wenn aber der Druckertreiber einen nicht ganz richtigen Wert für den unteren Rand ausgibt (0,0) immer zu Verschiebungen führt.
Mit LeftTop wäre das alles kein Problem.
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hubert,
wie gesagt, resize habe ich meines Wissens noch nicht eingesetzt. Bei mir hat das immer von Anfang an die Größe, die ich errechnet habe (z. B. bei Anpassung an die Bildschirmauflösung). Aber es müsste schon so sein: Die obere linke Ecke bleibt, denn das ist ja die Berechnungsgrundlage. Sowohl für die Position des Fensters selber als auch für die Controls in dem Fenster.
Die Umstellung auf TopLeft habe ich aus genau dem Grund gemacht: Immer dieses Rumgerechne, und dann passt es vielleicht doch nicht exakt. Was gerade bei Formulardrucken dann dumm aussieht. Außerdem kann ich so einfach oben anfangen ohne zu wissen, wass denn da vielleicht noch alles kommt, Längenmäßig gesehen.
Jan
wie gesagt, resize habe ich meines Wissens noch nicht eingesetzt. Bei mir hat das immer von Anfang an die Größe, die ich errechnet habe (z. B. bei Anpassung an die Bildschirmauflösung). Aber es müsste schon so sein: Die obere linke Ecke bleibt, denn das ist ja die Berechnungsgrundlage. Sowohl für die Position des Fensters selber als auch für die Controls in dem Fenster.
Die Umstellung auf TopLeft habe ich aus genau dem Grund gemacht: Immer dieses Rumgerechne, und dann passt es vielleicht doch nicht exakt. Was gerade bei Formulardrucken dann dumm aussieht. Außerdem kann ich so einfach oben anfangen ohne zu wissen, wass denn da vielleicht noch alles kommt, Längenmäßig gesehen.
Jan
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hubert,
nein, Du nervst nicht. Im Gegenteil: Endlich weiß ich mal mehr als der Moderator
Es ist, wie man das ordentlich erwarten kann: Die Eigenschaft wird vererbt. Das war früher noch nicht immer der Fall, aber in der 1.9 läuft das jetzt.
Wie oben schon gesagt: Es gab noch eine Macke, die Till aber sofort bereinigt hat. Sollte da also noch etwas auftauchen, dann sollte das auch kein längerfristiges Problem darstellen. Im "Normalbetrieb" habe ich aber sonst noch keine weiteren Fehler gefunden. Aber Spezialitäten gibt es halt doch noch immer ...
Jan
Hubert: Hast Du Deine Nachricht wieder gelöscht? Oder habe Halluzinationen?
nein, Du nervst nicht. Im Gegenteil: Endlich weiß ich mal mehr als der Moderator
Es ist, wie man das ordentlich erwarten kann: Die Eigenschaft wird vererbt. Das war früher noch nicht immer der Fall, aber in der 1.9 läuft das jetzt.
Wie oben schon gesagt: Es gab noch eine Macke, die Till aber sofort bereinigt hat. Sollte da also noch etwas auftauchen, dann sollte das auch kein längerfristiges Problem darstellen. Im "Normalbetrieb" habe ich aber sonst noch keine weiteren Fehler gefunden. Aber Spezialitäten gibt es halt doch noch immer ...
Jan
Hubert: Hast Du Deine Nachricht wieder gelöscht? Oder habe Halluzinationen?
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hi Jan,
ich hatte eben meine Frage gerade wieder gelöscht, weil du das mit der Vererbung ja schon erwähnt hattest, als ich sah, dass du schon darauf geantwortet hattest.
Die Klarstellung mit der Vererbung ist dennoch sehr wertvoll ich muss das mal ausprobieren.
Auch ich konnte nie verstehen wie man auf LeftBottom bei einem normalen Entwicklungswerkzeug für Verwaltungssoftware kommen kann, wo doch nur bei Mathe 0,0 links unten oder in der Mitte liegt, wir aber von links oben nach rechts unten lesen ...
Diese Entscheidung hat auf den Programmierern auf jeden Fall viel Ärger eingebracht.
ich hatte eben meine Frage gerade wieder gelöscht, weil du das mit der Vererbung ja schon erwähnt hattest, als ich sah, dass du schon darauf geantwortet hattest.
Die Klarstellung mit der Vererbung ist dennoch sehr wertvoll ich muss das mal ausprobieren.
Auch ich konnte nie verstehen wie man auf LeftBottom bei einem normalen Entwicklungswerkzeug für Verwaltungssoftware kommen kann, wo doch nur bei Mathe 0,0 links unten oder in der Mitte liegt, wir aber von links oben nach rechts unten lesen ...
Diese Entscheidung hat auf den Programmierern auf jeden Fall viel Ärger eingebracht.
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16511
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Jan,
Viele Grüße,
Martin
und das sogar als der schlechteste Programmierer aller XUGsJan hat geschrieben:nein, Du nervst nicht. Im Gegenteil: Endlich weiß ich mal mehr als der Moderator
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.