Max Button bei XbpDialog

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

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

Max Button bei XbpDialog

Beitrag von Manfred »

Hi,

ja, es gibt mich noch :lol:

Ich habe ein Verständnisproblem (Was auch sonst). Wie ist das zu verstehen mit der :tasklist ? Das steht doch ursprünglich auf .F. !? Dann dürfte doch aber nur der Button für Schließen oben rechts zu sehen sein? Hm, dem ist aber nicht so. Es sind alle 3 Button zu sehen. Wenn ich nun :MaxButton := .F. setze, dann ist das auch egal. Wenn ich aber :border auf XBPDLG_RAISEDBORDERTHIN_FIXED setze, dann ist der Größer Button deaktiviert, aber nur dann.

Fragen über Fragen
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
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
ich (und einige andere) hatten Dich schon vermisst!!!
Willkommen zurück!
:tasklist heißt nur, dass das Fenster mit einem eigenen Eintrag in der Taskliste von Windows auftaucht (im Taskmanager und beim Switchen durch die Fenster mit ALT-TAB).

Viele Grüße,
Martin
:grommit:
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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,
Martin Altmann hat geschrieben:Hallo Manfred,
ich (und einige andere) hatten Dich schon vermisst!!!
Willkommen zurück!
Yepp, ist aber nur kurzfristig. Habe z.Zt. einen kleinen Job angenommen, weil das andere noch nicht so läuft, wie ich es gerne hätte. Sehr ärgerlich, das.
:tasklist heißt nur, dass das Fenster mit einem eigenen Eintrag in der Taskliste von Windows auftaucht (im Taskmanager und beim Switchen durch die Fenster mit ALT-TAB).
Hm, aber das erklärt mir jetzt nicht, wieso das mit den Buttons oben rechts so ist.
Ich möchte eigentlich in diesem Falle nur den Schließenbutton haben. Das geht aber so irgendwie nicht.
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
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hmm,
eigentlich ist dafür :MinButton und :MaxButton auf .F. zu setzen!
Bei mir klappt das so:

Code: Alles auswählen

oDlg := XbpDialog():new( AppDesktop(), SetAppWindow(), aPos, aSize, , .F.)
oDlg:taskList := .F.
oDlg:minButton:= .F.
oDlg:maxButton:= .F.
oDlg:border   := XBPDLG_DLGBORDER
Viele Grüße,
Martin
:grommit:
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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Nun, so klappt es auch. Es muß aber wohl immer :border gesetzt werden?
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
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Yup - glaube schon.
Lies Dir mal die Onlinehilfe durch:
:maxButton hat geschrieben: Win32 - Windows ignoriert :maxButton wenn eine der Instanzvariablen :taskList , :titleBar oder :sysMenu auf .F. (falsch) gesetzt ist. In diesen Fällen wird der Pushbutton nicht angezeigt. Falls :minButton == .T. und :maxButton == .F. wird der Pushbutton zum Vergrößern des Fensters als gesperrt (disabled) angezeigt.

Bei einem MDI Client Fenster wird der Pushbutton zum Maximieren des Fensters immer angezeigt, es sei denn, :titleBar ist auf .F. (falsch) gesetzt.
:minButton hat geschrieben: Win32 - Windows ignoriert :minButton wenn eine der Instanzvariablen :taskList , :titleBar oder :sysMenu auf .F. (falsch) gesetzt ist. In diesen Fällen wird der Pushbutton nicht angezeigt. Falls :maxButton == .T. und :minButton == .F. wird der Pushbutton zum Verkleinern des Fensters als gesperrt (disabled) angezeigt.

Bei einem MDI Client Fenster wird der Pushbutton zum Minimieren des Fensters immer angezeigt, es sei denn, :titleBar ist auf .F. (falsch) gesetzt.
Viele Grüße,
Martin
:grommit:
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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,

habe ich gelesen, aber manchmal verstehe ich die Hilfe nicht.
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
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Manfred,

nach dem Erstellen des Dialogs mit FD beschäftige ich mich nie mit dem Setzen von Border. Ich schalte nur die Tasten aus, so wie Martin es dir schon gezeigt hat.
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo,

die Standardeinstellung für Border kann die Elemente darstellen, sonst würden wir sie ja nicht sehen ;-) die anderen Boarder-Typen sind Spezialfälle - Fenster können ja auch zum eingebetteten Controll werden (oder besser alle Elemente sind Fenster) und da würde ein Rahmen richtig stören.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

So Leute,

klärt mich auf! Wo steht geschrieben, das :border erst nach dem :create() gesetzt werden darf um zu wirken?
Ich habe es ausprobiert und siehe da, es erscheint nur noch der Schließen Button oben rechts, so wie gewünscht. (nach einem :configure())
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
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
nirgendwo! Und ich mache das :create() auch erst nach dem :border.

Viele Grüße,
Martin
:grommit:
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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,

dann verstehe ich die Welt nicht mehr...

Naja, wer aus dem Rahmen fällt, muß noch lange nicht vorher im Bilde gewesen sein...
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
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
hattest Du vielleicht nicht wie ich

Code: Alles auswählen

oDlg := XbpDialog():new( AppDesktop(), SetAppWindow(), aPos, aSize, , .F.)
sondern

Code: Alles auswählen

oDlg := XbpDialog():new( AppDesktop(), SetAppWindow(), aPos, aSize, , .F.):create()
geschrieben?

Viele Grüße,
Martin
:grommit:
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.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,

Code: Alles auswählen

METHOD bildschirm:dialogFenster(oParent, oOwner, aPos, aSize, aPresParam, lVisible, lZentriert, lMaxButton)
       LOCAL oDlg

       MEMVAR oSysPara

       DEFAULT oParent    TO oSysPara:oProgrammfenster
       DEFAULT oOwner     TO oParent
       DEFAULT aPos       TO {0,0}
       DEFAULT aSize      TO {10,10}
       DEFAULT lVisible   TO .T.
       DEFAULT lZentriert TO .T.
       DEFAULT lMaxButton TO .T.

       oDlg           := XbpDialog():new(oParent, oOwner, aPos, aSize, aPresParam, lVisible)
       oDlg:border    := XBPDLG_DLGBORDER
       oDlg:tasklist  := .F.
       oDlg:maxButton := lMaxButton
       oDlg:minButton := .F.
       oDlg:create()
       IF lZentriert
          CenterControl(oDlg)
       ENDIF
RETURN oDlg

oDialog  := oBild:dialogFenster(,,,{250,130},,.F.,,.F.)
          oDialog:keyboard  := {|nKey,mp2,oXbp| tastenwache(nKey, self)}        
          oDialog:close     := {|| PostAppEvent(xbeP_Close)} 
          oDialog:title     := "Personalnummer eingeben:"
          oDialog:configure()
          oDialog:setFontCompoundName("10.Helv.bold")
oDialog:show()
So wie es hier steht klappt es nicht. Erst wenn ich :border hinter das :create() stelle klappt es.
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
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Manfred,

zuerst mal was allgemeines ...

1.) :border gehört zu den Instanzvariablen der Konfiguration.

Somit muss es vor dem Create() gesetzt werden um zu wirken.
Wenn es nach dem Create() geändert werden soll, kann man mit Configure() dies nachholen. Die Frage ist also was genau beim ersten Aufruf nicht geht ?

2.) Viele der Borderangaben sind unter Windows nicht verwendbar, das von dir zitierte ...DLGBORDER ist bei MDI-Fenstern nicht erlaubt und wird ignoriert - ist dies eventuell die Ursache für den vermeintlichen Fehler ?

3.) Man kann die oberen 3 Buttons komplett verstecken, alle auswählbar machen oder den MAX-Butten disablen, aber man kann nie nur einen dieser 3 anzeigen lassen - zumindest nicht in Xbase++.
Gruß
Hubert
Rolf
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 258
Registriert: Do, 27. Apr 2006 12:28
Wohnort: Görlitz

Beitrag von Rolf »

Hi

Ich probiere meistens am folgenden Beispiel von Alaska
SOURCE\SAMPLES\BASICS\XBPSTYLE\Dlgstyle.exe
wie der Dialog aussehen soll. Das Beispiel ist sehr hilfreich.

Grüße
Rolf
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Hubert,
brandelh hat geschrieben:3.) Man kann die oberen 3 Buttons komplett verstecken, alle auswählbar machen oder den MAX-Butten disablen, aber man kann nie nur einen dieser 3 anzeigen lassen - zumindest nicht in Xbase++.
falsch! Ich habe rechts oben nur das x mit den weiter oben geposteten Angaben...

Viele Grüße,
Martin
:grommit:
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.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

gut Martin, dass du aufpasst, ich wollte dich nur testen :D
nein im Ernst, es ist schon eine Weile her, dass ich das probiert habe und Martin hat natürlich völlig Recht, ein einzelnes X ist möglich, aber z.b. nicht ein MIN + X ohne MAX ...
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Hubert,
korrekt - das habe ich ja auch aus der Online-Hilfe gepostet:
Wenn Max, dann auch Min (und umgekehrt).

Viele Grüße,
Martin
:grommit:
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.
Antworten