Entwickler-Ecke
Sonstiges (Delphi) - Fenster Aussehen unter XP
Gausi - So 06.07.03 22:11
Titel: Fenster Aussehen unter XP
Ich habe WindowsXP und Delphi6Personal.
Unter XP sehen die Fenster ja so aus, das zum Beispiel das "Schliessen-Kreuz" rot ist.
Das ist dann auch bei der Anwendung so, die ich zur Zeit progge. Jetzt hab ich eine neue Form, die ich mit Showmodal anzeigen lasse. Und diese Form hat dann komischerweise eher ein klassisches-Windows Design, also kein rotes Kreuz und so...
In der Delphi-Entwicklungsumgebung schon, aber wenn ich das Compilier und starte, ist das Design anders und stört, da alle anderen Forms das XP-Design haben...
Hoffe, mein Problem ist klar geworden.
Irgendwer ne Idee, woran das liegen könnte?
Delete - So 06.07.03 22:19
Premiere für den neuen phpBB-Code:
MANIFEST
Gausi - Mo 07.07.03 11:46
Hmm.. Ne, ich glaube, das ist nicht ganz das, was ich meine. Ich möchte nicht das Design der Form an sich ändern. Die Buttons, Panels usw. sollen so bleiben, wie sie sind.
Ich meine die Titelleiste (?) der Form. Also das, wo links n kleines ProgrammIcon ist, daneben die Caption der Form und ganz rechts die drei kleinen Buttons für "minimieren", "maximieren" und "schliessen".
Alle Formen in meinem Programm haben dabei das XP-Design, also abgerundete Ecken, ein schönes beruhigendes Blau als Hintergrundfarbe der Titelleiste und eben all das ganze XP-Geschnörkel.
Nur eben die eine, die hat das nicht. Da ist das alles irgendwie grau.
Und: Wenn ich mir die Form unter Delphi so angucke, sieht die auch "schön" aus, aber wenn ich F9 drück, und mir die Form im Programmverlauf ansehe...naja, ich wiederhole mich...
Gausi - Mo 07.07.03 12:21
Ok, habe nach ein bissel Spielerei rausgefunden, woran das liegt.
Ich erzeuge zur Laufzeit auf dieser speziellen Form ein Timage, was größer ist als die Form selbst. Dann packt Delphi an die Form die Scrollbars dran, die ein "klassisches" Design haben, was dann das Design des "FormRahmens" kaputt macht.
Werde dann wohl doch den Tipp mit dem Manifest genauer untersuchen...um die XP-Scrollbars zu bekommen.
Delete - Mo 07.07.03 12:25
Titel: Re: Fenster Aussehen unter XP
Okay, dann habe ich dich wohl falsch verstanden. Ich las nur:
Gausi hat folgendes geschrieben: |
Unter XP sehen die Fenster ja so aus, das zum Beispiel das "Schliessen-Kreuz" rot ist. |
Logo, weil das -bei aktiviertem Theme!- ja das Grundaussehen aller Fenster ist. Dafür brauchst du die Manifestdatei also nicht.
Zitat: |
Jetzt hab ich eine neue Form, die ich mit Showmodal anzeigen lasse. Und diese Form hat dann komischerweise eher ein klassisches-Windows Design, also kein rotes Kreuz und so... |
Das kenne ich zumindest von MessageBoxen, und dass hier das alte Design zum Vorschein kommt, liegt eben daran, dass du kein Manifest benutzt. Das siehst du ja auch bei den Controls (Buttons, Edits, usw.)
Also, sorry, wenn ich nicht helfen konnte.
Gausi - Mo 07.07.03 13:04
Also, langsam blicke ich gar nich mehr durch... :?
Ich benutze auch an mehreren Stellen Messageboxen wie z.b.
Delphi-Quelltext
1:
| with application do Messagebox('Gültiges Datumsformat: TT.MM.JJJJ','Fehler',MB_OK); |
und diese Messageboxen haben alle den XP-Stil (das normale nennt man wohl Luna..?). Und ich glaube nicht, dass ich da irgendwo irgendwas wie ein Manifest eingebunden habe...weil ich erstens nich weiss, was ein Manifest ist und zweitens nicht weiss, wie ich das einbinden soll...das hab ich auch bei den anderen Threads zum Thema Manifest nicht gefunden...
Und noch was ist komisch: Bei anderen Komponenten, wie z.B. TListBox kommen auch Scrollbars, und die sind blau (wie sonst auch in XP). Besteht denn ein Unterschied zwischen Scrollbars an Formen und denen an anderen Komponenten? Wenn ja, welcher...und wie mach ich das mit dem Manifest?
maximus - Mo 07.07.03 14:40
Das mit den messageboxen liegt daran, das diese boxen direkt von windows erzeugt werden und windows benutzt natürlich seine tollen styles :wink:
Und hier mal ein XP-manifest:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="XTRay.XP" processorArchitecture="x86" version="1.0.0.0" type="win32"/> <description>Application description here</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly> |
testhalber einfach mal in eine datei neben deine exe legen und es 'deinProg.exe.manifest' nennen.
PS: Später kannst du da manifest dann in die resourcen einbinden, oder mit Delphi7 direkt über die VCL-kompo.
Gausi - Mo 07.07.03 15:37
Na, das nenn ich doch mal ne Antwort. Problem ist damit (zumindest auf meinem Rechner) gelöst. Die Scrollbars sehen jetzt so aus, wies sein soll, und die Buttons haben auch den XP-Stil (obwohl mir DAS eigentlich egal ist).
Jetzt muss ich nur noch ausprobieren, ob das ganze dann auch unter anderen Windows Versionen vernünftig (= einheitlich) ausschaut...
Das mit einbinden in Ressourcen lass ich wahrscheinlich. ich verteil einfach die manifest-Datei mit. Damit die DAU's, die mein Prog nutzen werden, auch was zu staunen haben ;-)
maximus - Mo 07.07.03 16:20
*rofl*
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!