XbpDialog() [ERLEDIGT]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

XbpDialog() [ERLEDIGT]

Beitrag von Manfred »

Hallo Gemeinde,

ich stehe mal wieder vor einem Rätsel. Hybridmodus ist auch hier angesagt. Ich habe gerade aus Spaß an der Sache einen kleinen Versuch gestartet, ein Statistikfenster im GUI Modus über eine Textanwendung zu legen. Bis jetzt klappt es auch verdammt gut. Das "Fenster" bleibt und die Textanwendung kann weiter bedient werden. Nun habe ich in der Anleitung gelesen, das mit :hideButton, :maxButton, :minButton, die Buttons "behandelt" werden können. Das kriege ich nicht hin:

Code: Alles auswählen

LOCAL oDialog

oDialog := XbpDialog():new(SetAppWindow(),,{3,36},{oSysPara:aWZize[1],193})
oDialog:hideButton := .T.
oDialog:maxButton := .F.
oDialog:minButton := .F.
oDialog:create()
Die Buttons stehen immer noch oben rechts und lassen sich bedienen. Wo mache ich hier mal wieder einen Denkfehler?

Eigentlich möchte ich gerne auf diesem Wege eine grafische Anzeige machen, von diversen Daten die bei jedem Datensatz aktualisiert werden. Das der TExtbildschirm weiter zu bedienen geht, finde ich prima, aber sobald die Buttons angeklickt werden, geht die Sache in die Binsen.
Ich schätze mal, das es sicherlich nur über den oben genannten Weg geht? Oder könnte ich irgend einen anderen XbasePart über den Textbildschirm legen, in den ich dann die Daten zur Bildschirmansicht schreibe?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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:

Beitrag von Tom »

Hallo, Manfred.

Die Instanzvariable :hideButton ist unter Windows wirkungslos; den gibt es nämlich nur unter OS/2. Und daß :minButton bzw. :maxButton kein Ergebnis zeitigen, liegt vermutlich daran, daß :taskList, :titleBar oder :sysMenu auf .F. gesetzt sind (siehe Doku). Außerdem sind nichtmodale Fenster immer mit einem aktiven Max-Button ausgestattet, bis man :titleBar auf .F. setzt (womit die gesamte Titelzeile verschwindet). Wenn Du aber ein modales Fenster daraus machst, wird sich Dein Textfenster nicht mehr anwählen lassen.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Tom,
Tom hat geschrieben:Hallo, Manfred.

Die Instanzvariable :hideButton ist unter Windows wirkungslos; den gibt es nämlich nur unter OS/2.
Oh ja, bin ich blöde. Ich habe nur die 1.Seite gelesen und nicht die genaue Erklärung.
Und daß :minButton bzw. :maxButton kein Ergebnis zeitigen, liegt vermutlich daran, daß :taskList, :titleBar oder :sysMenu auf .F. gesetzt sind (siehe Doku). Außerdem sind nichtmodale Fenster immer mit einem aktiven Max-Button ausgestattet, bis man :titleBar auf .F. setzt (womit die gesamte Titelzeile verschwindet). Wenn Du aber ein modales Fenster daraus machst, wird sich Dein Textfenster nicht mehr anwählen lassen.
:tileBar, das war es zunächst. Den habe ich auf .F. gesetzt und jetzt sieht das Fenster so aus, wie es sein soll. Anwählen will ich es gar nicht, ich möchte nur parallel etwas anzeigen, was ich sonst im Textbildschirm am unteren Rand angezeigt hatte. Unter GUI kann ich aber mehr Text und Daten unterbringen, ohne das es schwerer zu lesen wird.
Oder meintest Du mit nicht mehr anwählbar, ich kann den Inhalt auch nicht mehr aktualisieren, wenn ich etwas neues reinschreiben will?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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:

Beitrag von Tom »

Hallo, Manfred.

"Nicht wählbar" sollte bedeuten: Applikationsmodale Fenster (:SetModalState(XBP_DISP_APPMODAL)) erlauben es nicht, daß man dahinterliegende Fenster anwählt (selektiert), die von der gleichen Applikation (und ggf. im gleichen Thread) erzeugt worden sind. Das Owner-Fenster wird gesperrt, bleibt aber "steuerbar", reagiert also auf Methoden wie :SetCaption usw. Allerdings weiß ich nicht, wie es aussieht, wenn das Hauptfenster der App ein XbpCrt ist, da ich nie mit dem Hybridmodus gearbeitet habe.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Manfred,

in den Samples gibt es ein Programm welches verschiedene Fenster und Buttons demonstriert. Ich meine GUI oder Windews ... sieh mal nach.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Auf den 1.Blick scheint es gut zu klappen. Ich muß mich nur an die andere Formatierung gewöhnen. Ansonsten bleibt nur zu hoffen, dass nicht irgendein unerwünschter Nebeneffekt auftritt während des Arbeitens..
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: XbpDialog()

Beitrag von Manfred »

Ich muß das hier nochmal aufgreifen. Wieso klappt das Ausblenden von Min und Maxbutton nicht? Ich habe nach dem Create() ein oDialog:minbutton := .F. und dann ein oDialog:configure() gesetzt. Dann sind die beiden Buttons weg. Vor dem create() gesetzt, passiert damit gar nichts. Das verstehe ich irgendwie nicht. :banghead:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: XbpDialog()

Beitrag von AUGE_OHR »

Manfred hat geschrieben:Ich muß das hier nochmal aufgreifen. Wieso klappt das Ausblenden von Min und Maxbutton nicht? Ich habe nach dem Create() ein oDialog:minbutton := .F. und dann ein oDialog:configure() gesetzt. Dann sind die beiden Buttons weg. Vor dem create() gesetzt, passiert damit gar nichts. Das verstehe ich irgendwie nicht. :banghead:
bei einem oDialog:configure() musst du IMHO :maxButton == .T. und :minButton == .F.

mit

Code: Alles auswählen

SetWindowLongA( oWin:getHWnd(), GWL_STYLE, nPtr )
kann man auch die beiden Buttons "disable"
gruss by OHR
Jimmy
Antworten