Optik Dialog

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Optik Dialog

Beitrag von Jan »

Ich habe ein merkwürdiges Phänomen: Ich erstelle den Programmdialog mit AppDesktop() als Parent - und der folgt im Aussehen auch der Betriebssystemoptik. Unter Windows 10 also alles eckig und flach und farblos. Wenn ich aber Dialoge erstelle mit diesem Programmdialog als Parent, dann sehen die aus wie unter Windwos 7. Oben runde Ecken, breite farbige Ränder, farbige Titelleiste. Nehme ich als Parent den AppDesktop(), dann sieht alles wieder korrekt aus.

Warum passiert das? Und was kann ich dagegen tun?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: Optik Dialog

Beitrag von AUGE_OHR »

das Thema hatten wir schon mal mit visual Style unter Windows 7 nur genau anders-rum :
runde Ecken beim Parent und eckig bei den MDI Fenstern :roll:

das wurde zwar für Windows 7 behoben ... aber mit v8.x war das Problem wie jetzt bei Windows 10 #-o
siehe \SOURCE\samples\apps\MdiDemo\MDIDEMO.EXE
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Optik Dialog

Beitrag von Jan »

Na super. Antwort von Alaska: MS hat keinen Fokus auf MDI, und deswegen wohl vergessen das Flat-Design auch da umzusetzen. Also der Plattform geschuldet. Und auch Leute, die MFC oder C# WinForms implementieren wären da nicht glücklich mit.

Soll wohl sagen: Hat MS verbockt, muß ich mit leben.

Ich kann ja verstehen wenn Alaska das eben halt korrekt von den Windows-Grundlagen herleitet und das damit dann optisch nicht geht. Unschön ist das aber trotzdem. Wäre ja schön wenn es da irgend einen Workaround gäbe, wie man das gerade biegen kann.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Optik Dialog

Beitrag von HaPe »

Hallo Jan !
Wäre ja schön wenn es da irgend einen Workaround gäbe, wie man das gerade biegen kann.
Das Stichwort heißt "selber machen".
Hier ein Beispiel:
slalom.jpg
slalom.jpg (285 KiB) 11230 mal betrachtet
Der Drucken-Dialog ist ein modales Fenster, das Veranstaltungsfenster ein nicht modales Fenster.

Ich verwende dazu ein Fenster ohne Titel und Rahmen und "pinsel" die Titel-Zeile mit Titel-Text, den Minimier,- Maximier- und Schließen-Schaltflächen, den Rahmen mit den Hover-Ecken für die Maus-Zeiger sowie den Sizer und die Status-Zeile des Fenster selbst.
Ist nicht wenig Aufwand aber als DataForm und DialogForm als Basis-Klassen geht alles weitere automagisch.
--
Hans-Peter
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Optik Dialog

Beitrag von Werner_Bayern »

Schon mal :styleClass probiert?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Optik Dialog

Beitrag von Jan »

Werner,

hör ich gerade zum ersten Mal. Wie funktioniert das damit? Die Hilfefunktion ist da eher - spartanisch. um nicht zu sagen: Da hat jemand den wichtigsten Teil abgeschnitten.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Optik Dialog

Beitrag von Werner_Bayern »

Alaska verwendet es im xbp-browse.prg, quickbrowse, progressbar und den tooltips. Dort hab ich es für mich angepasst. Auch hab ich mir eine abgeleitete xbpStatic-Klasse gemacht, wo das genutzt wird. Einfach mal experimentieren. Ist ja nur eine Instanzvar, die entsprechend belegt werden muss.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: Optik Dialog

Beitrag von azzo »

Hallo Hans-Peter,
kann man "deine" Fenster dann noch mit der Maus verschieben?
LG
Otto
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Optik Dialog

Beitrag von HaPe »

Hallo Otto !
kann man "deine" Fenster dann noch mit der Maus verschieben?
Ja und noch viel mehr wie das Formular vergrößern und verkleinern sowie die Schriftgröße zwischen 8 und 14 Pixeln.
Und alles mit der Maus 8)
http://www.schwaben-team.de/downloads/d ... tsizer.wmv

OK, ist (noch) nicht mit Xbase++ sondern in VFP9 erstellt.
--
Hans-Peter
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: Optik Dialog

Beitrag von azzo »

Hallo Hans-Peter,

sieht super aus.
Aber im Video sieht man nicht, dass du das Fenster auch verschieben kannst.

LG
Otto
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Optik Dialog

Beitrag von HaPe »

Hallo Otto !
Aber im Video sieht man nicht, dass du das Fenster auch verschieben kannst.
Bitte sehr, bitte gleich
http://www.schwaben-team.de/downloads/d ... sizer2.wmv
--
Hans-Peter
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: Optik Dialog

Beitrag von azzo »

Hallo Hans-Peter,
Respekt.

LG
Otto
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Optik Dialog

Beitrag von Werner_Bayern »

Eine Watschn von VFP an Xbase++ - mitten ins Gesicht 8)
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Optik Dialog

Beitrag von Jan »

Werner_Bayern hat geschrieben: Mo, 26. Feb 2018 15:20Einfach mal experimentieren. Ist ja nur eine Instanzvar, die entsprechend belegt werden muss.
Werner,

wenn man aber nicht weiß, was es da alles für Werte gibt, dann wird das Experimentieren etwas unübersichtlich. Und die Hilfe sagt eben halt überhaupt rein gar nichts dazu.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: Optik Dialog

Beitrag von azzo »

Hallo Jan,
ich denke hier sind die Windows Styles gemeint:
https://msdn.microsoft.com/en-us/librar ... s.85).aspx

LG
Otto
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: Optik Dialog

Beitrag von brandelh »

Kann eigentlich nicht sein, da laut Hilfe ein String zur iVar :styleClass gehört.
Alle Windows Defines stehen aber für numerische Parameter.
Gruß
Hubert
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 218
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 3 Mal

Re: Optik Dialog

Beitrag von BJelinek »

Hallo Jan
hab das auf Google gefunden.

http://news.alaska-software.com/readmes ... %2B%2B.gui
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Optik Dialog

Beitrag von HaPe »

Bernd das sieht gut aus :D
Zuletzt geändert von HaPe am Di, 27. Feb 2018 9:42, insgesamt 1-mal geändert.
--
Hans-Peter
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: Optik Dialog

Beitrag von AUGE_OHR »

o:StyleClass und o:StylePart sind nicht als Xbase++ Konstanten angegeben weil von Windows vorgegeben
ein XbpPushbutton() ist ein "BUTTON" und ein XbpSLE() ein "EDIT" als o:StyleClass

das ganze findet man in der TMSCHEMA.H siehe hier (ZIP File)
viewtopic.php?f=23&t=5338&p=57291&hilit ... A.H#p57291

ein o:StylePart steht nun für den STATE eines XbPart z.b. "PRESSED"
Xbase++ hat dafür die XBP_STATE_* Konstanten zum auswerten bei Ownerdraw.

---

ich fürchte das man bei den MDI Clients "selbst" wenig machen kann ...
das ist ein Fall für Alaska wobei die ihr eigenes MDI Demo nehmen können :badgrin:
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: Optik Dialog

Beitrag von brandelh »

Ich stehe mal wieder auf dem Schlauch, ich habe das Beispiel von der Alaska Newsgroup geladen und will es compilieren ...
Xbase++ (R) Compiler 1.90.355 Apr 10 2009
Copyright (c) Alaska Software. All rights reserved.
File _DIALOG.PRG compiled successfully.
File DIALOG.PRG compiled successfully.
File PARSER.PRG compiled successfully.
STYLEVIEW.PRG(28:0): warning XBT0120: LOCAL variable mp1 may not have been set b
efore first use
STYLEVIEW.PRG(28:0): warning XBT0120: LOCAL variable mp2 may not have been set b
efore first use
STYLEVIEW.PRG(28:0): warning XBT0120: LOCAL variable oXbp may not have been set
before first use
File STYLEVIEW.PRG compiled successfully.
File VSTYLES.PRG compiled successfully.

alink @C:\Users\BRANDELH\AppData\Local\Temp\02275984.tmp
Alaska 32-Bit Linker Version 1.90.355
Copyright (c) Alaska Software 1997-2009. All rights reserved.

ALINK: fatal error ALK4001: cannot open file "XPPUI1.LIB"

'alink @C:\Users\BRANDELH\AppData\Local\Temp\02275984.tmp' returned error 1
Processing time: 0.15 secs.

D:\Alaska_Infos\StyleClass\styleView>
gleiches Ergebnis mit der 2.0 ... ich finde die XPPUI1.DLL in den Alaska Verzeichnissen beider Compiler, aber keine XPPUI1.LIB ????

Wenn ich die #pragma Anweisung auf die LIB allerdings entferne, geht es da intern dllload verwendet wird.
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Optik Dialog

Beitrag von Jan »

BJelinek hat geschrieben: Di, 27. Feb 2018 9:29Hallo Jan
hab das auf Google gefunden.

http://news.alaska-software.com/readmes ... %2B%2B.gui
Ah! OK, das dürfte hilfreich sein. mal schauen, was ich daraus machen kann.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Optik Dialog

Beitrag von Tom »

Hallo, Hubert.

Stimmt. Die XppUI1.LIB fehlt bei mir auch.
Herzlich,
Tom
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 218
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 3 Mal

Re: Optik Dialog

Beitrag von BJelinek »

Hallo
Ich hab mal Xppui2.dll und xppui3.dll eingetragen

Damit könnte ich es compilieren.

Aber das Ergebnis verstehe ich nicht.
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: Optik Dialog

Beitrag von AUGE_OHR »

brandelh hat geschrieben: Di, 27. Feb 2018 10:54ich habe das Beispiel von der Alaska Newsgroup geladen und will es compilieren ...
welches Beispiel :?:
gruss by OHR
Jimmy
DelUser01

Re: Optik Dialog

Beitrag von DelUser01 »

Werner_Bayern hat geschrieben: Mo, 26. Feb 2018 18:37Eine Watschn von VFP an Xbase++ - mitten ins Gesicht 8)
Sind wir hier noch im Forum von Xbase++??
Antworten