| |
|
|
GDL | Hallo, kann mir bitte jemand sagen, wie man unter Profan das Windowsdesign abfrägt? siehe Bildanhang.Danke.
Servus Georg |
|
|
| |
|
|
|
| @Georg
Meinst Du das ? KompilierenMarkierenSeparieren Hallo Georg Sehe grade auf Deinem Screenshot, dass Du PRFellow auf Deinem System hast. Suche mal in den Vorlagen die Datei WIN32.PRF, da findest Du den obigen Text und noch viel mehr von Thomas Hölzer |
|
|
| |
|
|
|
GDL | @ Horst
Das währe der nächste Schritt gewesen.Dieser Dialog soll nur aufgerufen werden, wenn Windows klassisch nicht eingestellt ist.
Ich müsste erstmal in Erfahrung bringen was eingestellt ist.(Bei richtigen Einstellungen wird sonst dieser Programmteil nicht angewendet)
Servus Georg |
|
|
| |
|
|
|
| Bevor Du jetzt irgendwo inner Reg rumwurstelst: Kontrolliere einfach ob %cyCaption den typischen Win89-Wert aufweist,- andernfalls gibts da noch [...] |
|
|
| |
|
|
|
Jörg Sellmeyer | Hallo Georg, Vielleicht hilft Dir das hier weiter: [...] Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 02.10.2007 ▲ |
|
|
|
|
GDL | Erstma allen danke. Ich möchte nicht automatisch umschalten, sondern nur auslesen.
Wenn ich das richtig erkenne, geht das mit dem :
HTHEME GetWindowTheme( HWND hWnd );
Nur wie geht das mit Profan?
Servus Georg |
|
|
| |
|
|
|
RGH | Hallo, um diese API nach XProfan umzusetzten, mußt Du zunächst wissen, in welcher Windows-DLL sie steckt. Das ist in der API-Hilfe für gewöhnlich angegeben und in diesem Fall die uxtheme.dll.
Der Rückgabewert ist ein Wert des Typs HTHEME. Das H als erster Buchstabe beudet Handle und in einem 32-Bit-Betriebssystem ist dieses ein 32-Bit-Wert, also ein Longint. Der Parameter HWND ist das Handle des zu untersuchenden Fensters. Will man die Funktion in XProfan also für das Hauptfenster aufrufen, so lautet sie: KompilierenMarkierenSeparieren Ich fürchte aber, sie bringt Dich nicht weiter. Zum einen gibt es die DLL erst ab Windows XP und zum anderen gibt sie auch bei einer Standard-XP-Oberfläche 0 zurück.
Dir geht es vermutlich in der Hauptsache darum, herauszubekommen, ob die Titel- und Menüzeilen die korrekte Gröe der klassischen Bildschirmdarstellung haben, damit die Dialogelemente korrekt auf die Dialoge passen. Da helfen Dir die XProfan-Systemvariablen %cyCaption und %cyMenu weiter. Wenn deren Wert größer ist, als bei Deiner klassischen Darstellung ist entweder ein XP- oder Vista-Stil im Einsatz, oder die Anzeige wurde anderweitig angepaßt. (Auch unter Win2000 und früher, konnte man die Ansicht so verändern, dass die Größen nicht mehrt stimmten, also etwa doppel hohe Titelzeilen bei Fenstern, etc.) (Bei XP im XP-Look hat %cyCaption z.B. den Wert 26.)
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02.10.2007 ▲ |
|
|
|
|
GDL | Gut dann nehme ich %cyCaption. Wird sowieso noch ne langwierige Geschichte.Zwei Rechner meiner Testanlagen können nur 1024*768 mit 256 Farben.Muss alle festen Farbzuweisungen in Variablen umwandeln und durch 2 unterschiedliche Dateien laden. Ebenso können diese Graphikkarten max. 300 Farbbuttons (SKcontrol) darstellen. Anscheinend benötigt WinME von den 16 Mb Graphikspeicher zuviel.Bei normalen Windowsbuttons gibt es keine Probleme. Ach Abwärtskompatibel wie bist du schön.
Servus Georg |
|
|
| |
|
|
|
GDL | Das letzte Problem ist nun, wie ich es hinbekomme, dass die Desktopikonen fixiert bleiben.
Servus Georg |
|
|
| |
|
|
|
GDL | Möchte wenn dieser Dialog gestartet wird, KompilierenMarkierenSeparieren das dieser immer im Vordergrund bleibt, oder das Hauptprogramm angehalten bleibt.
Habe bereits mit winexecwait KompilierenMarkierenSeparieren versucht. Dies geht zwar einwandfrei, nur wenn man das Theme wechselt,dauert dies fast 2min. bis das Hauptprogramm weitermacht.Denkt jeder gleich an einen Programmabsturz.
Ohne winexecwait und mittels einer Schleife in der mit findwindow nachgesehen wird, ob der Dialog noch läuft geht auch nicht, da dieser in den verschiedenen WinVer. unterschiedliche Fenstertitel trägt. Gibt es da noch ne Möglichkeit?
Servus Georg |
|
|
| |
|
|
|
| Starte die cpl als Parameter für die Control.Exe statt runDLL die control.exe starten zu lassen. |
|
|
| |
|
|
|
GDL | |
|
| |
|
|