Design einfach verbessern

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Rolf
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 258
Registriert: Do, 27. Apr 2006 12:28
Wohnort: Görlitz

Design einfach verbessern

Beitrag von Rolf »

Hi

Wir haben einen möglichen Neukunden, der von der Mac-Schiene kommt und von seinem altes Programm umsteigen will, weil es ihm nicht mehr "gefällt."

Es gibt mehrere Lösungsansätze:

1. irgendwie den XP-Style in das Programm bekommen, ich weiß aber noch nicht wie das gehen sollte.
2. Farben von Anwendungshintergrund, Menü und Toolbar ändern, ohne die Darstellung in Windows zu ändern.
Laut XBase Hilfe geht das aber nicht.

Allgemeine Presentation-Parameter
Hinweis: die Farben von XbpMenu, XbpMenuBar und XbpPushButton können in einem Xbase++ Programm nicht durch das Presentation-Parameter Array gesetzt werden. Es werden immer die in der Systemeinstellung definierten Farben verwendet. Für XbpMenu und XbpMenuBar gilt ferner, daß auch der Font nur über die Systemeinstellung definiert werden kann.
3. Toolbar selbst programmieren die irgendwie aussieht wie Word unter XP so ein bisschen rund...

Ich bin auch mehr für die Funktionalität, aber das Auge des Kunden ist mit.
Und davon essen wir. :|

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

Beitrag von Martin Altmann »

Hallo Rolf,
für den XP-Style brauchst Du im Prinzip nur eine .manifest-Datei anlegen, die im selben Verzeichnis wie Dein Programm liegt und den gleichen Namen wie Deine EXE hat (nur mit der zusätzlichen Endung .manifest, also z.B. programm.exe.manifest).
Diese Datei ist eine XML-Datei - über den Aufbau der selben findest Du ein wenig Info in der Xbase++-Onlinehilfe.
Es gibt nur das eine oder andere Problem mit den "zusammengesetzten" Xbase++-Komponenten wie z.B. Drop-Down-Komboboxen.
Aber da wird Alaska sicherlich bald was dran ändern.
Noch ein Tipp aus den Newsgroups: Für die "schönen" XP-Pfeilknopfbeschriftungen solltest Du darauf achten, dass Deine Knöpfe in der Schriftart "Marlett" mit dem chr(52) bzw. chr(53) beschriftet sind.

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
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Hallo Rolf,

man kann schon so einiges verändern.

Menü und Listbox gehen mit den in 1.9 neuen Ownerdrawing-Fähigkeiten. Es gibt da auch einige Beispiele drüber, was man alles machen kann.

Pushbuttons ansich lassen sich nicht verändern. Du kannst Dir aber eine eigene Klasse schreiben, wo Du ein Static einbaust, und das kann man schließlich nach Wunsch aussehen lassen.

Diego hat mal eine Klasse geschrieben, mit der man sogar einen TreeView mit farbigen Einträgen erzeugen kann, sogar mit SLEs und Checkboxen.

Ich selber habe auch mal mit einer eigenen Dialog-Klasse exprimentiert, um die Titelzeile nach meinem Wunsch anzupassen. Habe ich wieder sein lassen, nicht alles machbare ist auch schön oder sinnvoll.

In 1.9 gibt es auch die Toolbar-Klasse, wo man das sinnvoll verwenden kann macht das schon einiges her und sieht sehr professionell aus.

Vieles ist aber mit einem Haufen Arbeit verbunden. Es müssen die passenden Bildchen erstellt werden, und das ganze graphische drumrum erfordert einiges an Codezeilen. Was man allerdings ja auch nur ein mal machen muß, die Klassen sind dann schließlich immer wieder verwertbar.

Jan
Rolf
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 258
Registriert: Do, 27. Apr 2006 12:28
Wohnort: Görlitz

Beitrag von Rolf »

@ Martin
Hi das mit der .manifest haben wir gleich ausprobiert mein Chef war begeistert. Bis es ab und zu mal abstürzt und das die Dieter Stelzner - XClass Komponenten, die wir ab und an mal einsetzen völlig unberührt bleiben.

@Jan
Wir compilieren leider noch mit 1.70 und da liegt wieder das Problem bei XClass und mangelnden Finanzen. Naja, vielleicht muss ich doch selbst basteln.

Hat jemand eventuell noch eine Idee zu den Farbspielereien.

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

Beitrag von Martin Altmann »

Rolf,
1.7 unterstützt die .manifest-Datei nicht richtig!!
Probiere mal mit 1.82 oder - noch besser - 1.9!

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
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Rolf.

Native XbpPushbuttons lassen sich nur schwer umstylen, aber man kann zum Beispiel Roger Donnays eXPress++ oder Joe Carricks MxPushButton-Klasse benutzen, die sehr originelle und "stylishe" Buttons zulassen (eXPress++ bietet eine STATIC-Buttons Klasse, die letztlich auf dem XbpDialog basiert und deshalb alle grafischen Möglichkeiten zuläßt, www.donnay-software.com; die Klasse von Joe Carrick ist per Mail zu ordern, für 20 $, Kontaktdaten auf Anfrage, sehr cooles Zeug). Ich würde aber generell Martins Anregung folgen und auf 1.82, besser auf 1.9 wechseln, die sind nicht nur sehr viel stabiler, unterstützen für alle XbpParts die XP-Styles und können auch mehr, sie bieten zudem (1.9) die Möglichkeit, jeden denkbaren Bedienungswahnsinn zu integrieren, zum Beispiel die "Extrem Suite" von Codejock-Software (www.codejock.com), die es als Active-X-Komponente gibt und die nun wirklich kein Auge mehr trocken läßt.

Kleiner Tip am Rande: Alle kochen nur mit Wasser. Dieses Wasser besteht nicht etwa aus H2O-Molekülen, sondern aus Pixeln. Was ich sagen will: Man kann viel selbst machen, indem man seine eigenen Controls selbst baut, und zwar auf Bitmap-Basis. :!:
Herzlich,
Tom
Rolf
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 258
Registriert: Do, 27. Apr 2006 12:28
Wohnort: Görlitz

Beitrag von Rolf »

Hi

Danke Martin für den Hinweis da, brauch ich nicht suchen woran es liegen kann.

Die Umstellung auf 1.9 ist zwar geplant, aber das Treffen mit dem Kunden ist leider auch schon nächste Woche und da will mein Chef das Risiko nicht eingehen. Da keine Zeit zum testen bleiben wird.

Die Icons auf der Toolbar werden wohl erst mal ein neues aussehen bekommen.

Dann haben wir noch ein paar XP-Themes runtergleaden die wie Mac aussehen und auch das bringt schon viel. Wenn z.B. die Titelleiste in einen schönen Farbverlauf zum Menü übergeht und die Ecken der Dialoge abgerundet sind.

Vielen Dank für die Hilfe
Rolf
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Beitrag von Lewi »

Hallo Tom,
wo finde ich Info´s zu Joe Carricks MxPushButton-Klasse?

Gruß, Olaf
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Olaf.

Joe Carrick (Joseph P. Carrick) vertreibt die via PayPal, aber man kann ihn um eine Demo anmailen:

ceo(at)youngdale.com
Herzlich,
Tom
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Beitrag von Lewi »

Hi Tom,
ich habe mit der ActiveX-Komponente von Codejock ein wenig experimentiert. Es scheint so, daß Codejock mit XBASE (1.9.331) nicht funktioniert. Hast du schon Erfahrungen mit dem Activex-Control Codejock.Skinframework?

Nicht mal der simpelste Code funktioniet: die Ausgabe der Aboutbox.

Code: Alles auswählen

Func main()
local oSkin

 oSkin := CreateObject("Codejock.SkinFramework.10.3.1")
 if oSkin == NIL
    MsgBox("Error" )
    QUIT
  endif
  oSkin:AboutBox()  -> und ab geht´s ins COM-Nirvana
Return ( NIL )
 
Antworten