Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249240 (10676)
  Suchen
 Zurück zur Übersicht
 AutorThema: XP - Buttons?
Julian Rau
Datum:10.12.01 17:56 Antwortenals Email verschicken (JulianRau@gmx.de) 


Hallo!

ich habe mal eine kleine Frage zur Programmierung in Windows XP. Ich hab die derzeit neueste Profan-Version und möchte unter Windows XP die typischen Buttons im XP-Stil verwenden. Gleiches gilt für die neuen ProgessBars. Hat da jemand eine Ahnung wie das geht?

Mfg
Julian Rau


Kai Hagemann
Datum:11.12.01 06:57 Antwortenals Email verschicken (Profanet@Web.de) 


Wenn du Windows XP hast.
Dann wird alles im Windows XP Look angezeigt.

Wenn du die Sachen noch im alten Windows Look sehen tust.
Dann mußt du unter Systemsteuerung/Anzeige/Design.
Von Windows klassik, auf Windows XP umstellen.

Dann wird alles im Windows XP Look angezeigt.


Ingo Bordasch
Datum:11.12.01 09:12 Antwortenals Email verschicken (IngoBordasch@gmx.de) 


Hallo Julian,

schau mal unter http://www.microsoft.com/GERMANY/ms/msdnbiblio/artikel/XPTheming.htm nach. Dort findest Du etwas unter dem Stichwort Manifest Datei. Damit kannst Du auch die Buttons im XP Stil anzeigen lassen.

Ingo Bordasch
http://www.zupmaker.de




Julian Rau
Datum:11.12.01 16:52 Antwortenals Email verschicken (JulianRau@gmx.de) 


Hallo!

hm. also mein WinXP steht natürlich auf dem XP-Design.Aber trotzdem werden alle Dialogelemente die von Profan-Programmen erstellt werden noch im alten Design verwendet.
Was hat es mit dieser Manifest Datei auf sich!?

Mfg

Julian


Ingo Bordasch
Datum:11.12.01 17:40 Antwortenals Email verschicken (IngoBordasch@gmx.de) 


Hallo Julian,

das alles steht in dem von mir o.g. Link:

Nehmen wir an Du hast eine Datei die heißt termin.exe

Dann erstellst Du eine Textdatei die folgenden Text hat:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
processorArchitecture="x86"
version="5.1.0.0"
type="win32"
name="Windows.termin.exe"/>
<description>Terminprogramm</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
</assembly>

Diese speicherst Du unter dem Namen temin.exe.manifest ab und kopierst diese in das Verzeichnis in der die termin.exe steht. Wenn Du die termin.exe jetzt aufrufst hat sie die von Dir gewünschten Button etc.

Ingo Bordasch
http://www.zupmaker.de



Julian Rau
Datum:11.12.01 17:54 Antwortenals Email verschicken (JulianRau@gmx.de) 


Hallo!

danke für den Tip mit der Datei, das funktioniert super. Nur leider reagieren die Buttons dann direkt beim Anklicken und nicht erst beim loslassen. Ich hab mein Fenster mit PRFellow und dem neuen Ereignismodell erstellt. Wie muss man die Buttons abfragen damit sie erst beim loslassen reagieren?

Mfg

Julian


Marc-Gordon Kröhn
Datum:08.01.02 11:18 Antwortenals Email verschicken (Marc-Gordon@Web.de) 


Ressourcendatei

Inwieweit man das jetzt für Profan nutzen kann, sollte man selber schauen:

Damit die Anwendung nicht auf externe Dateien angewiesen ist, kann das Manifest auch in einer Ressourcendatei abgelegt und einkompiliert werden. Dazu muss eine entsprechende Definition in der Ressourcendatei erfolgen. Am besten geht das durch Manipulation des Ressourcenscripts der Anwendung. Inoffiziellen Informationen Microsofts zufolge muss ein Ressourceneintrag vom Ressourcentyp RT_MANIFEST erstellt werden, bei dem die Manifestdatei mit der Ressourcennummer 1 angegeben wird. Der Ressourcentyp muss im Allgemeinen 24 sein, man kann aber auch über ein #define im Ressourcenscript den Ressourcentyp RT_MANIFEST als 24 definieren. Der Einfachheit und Übersichtlichkeit halber wurde das Ressourcenscript für das Beispiel nicht mit Microsoft Visual C++ erstellt, um nicht unnötige Header-Informationen und Code verwalten zu müssen, die für eine VB-Anwendung keinerlei Bedeutung haben. In die Ressourcendatei sollte der im folgenden Codeausschnitt angegebene Text eingefügt werden.

/////////////////////////////////////////////////////////////////////////////
//
// 24
//

1 24 "MyApp.exe.manifest"

Danach kann das Ressourcenscript zu einer Ressourcendatei mit der Dateiendung .rc kompiliert und in das Visual Basic-Projekt eingebunden werden. Das Kompilieren des Ressourcenscripts kann entweder mit Microsoft Visual C++ oder aber über den Befehlszeilencompiler für Ressourcendateien, rc.exe, durchgeführt werden.


Marc-Gordon Kröhn
Datum: 16.01.02 15:53 Antwortenals Email verschicken (Marc-Gordon@web.de) 


Um Profan-Programme im XP-Style zu erstellen, ohne eine seperate Manifest-Datei beizulegen, benötigt man den ResHacker.
Als erstes erstellt man eine Manifest-Datei: (normale Textdatei)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32" name="Prfrun32.exe" version="1.0.0.0" processorArchitecture="x86"/>
<description>Prfrun32.exe</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
language="*"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
/>
</dependentAssembly>
</dependency>
</assembly>

Dann speicher dieses Datei z.B. als C:\mani.txt
Öffne jetzt mit dem ResHacker die Profan-Datei: prfrun32.exe
Wähle aus dem Menü die Option "Action" und gehe auf "Add a new Resource..."
Gehe jetzt auf die Schaltfläche "Open file with new Resource..." und lade die vorher erstellte Textdatei.
Gebe jetzt im Resource Type: den Wert 24 ein.
In das Feld Resource Name: den Wert 1
und im Feld Resource Language: den Wert 1031

Wähle dann die Schaltfläche "Add Resource"
Speicher die Datei - fertig. Alle Profan-Programme die jetzt kompeliert werden, haben das "XP-Style" schon drin, ohne externe Manifest.



 Zurück zur Übersicht