Thema: Delphi Themed Form in COM Dll

Einzelnen Beitrag anzeigen

Roaster

Registriert seit: 21. Jul 2004
Ort: bei mir zu Hause
107 Beiträge
 
#1

Themed Form in COM Dll

  Alt 7. Mär 2008, 12:46
Hi,

ich probiere gerade mit UAC unter Vista rum und habe dazu ein Programm von Aleksander Oven, zu finden hier, runtergeladen und angepaßt.
Angepaßt in dem Sinn, dass ich zum Testen eine Datei-Kopierfuntion eingebaut habe, die auf einem TForm (erzeugt und aufgerufen aus der COM dll) eine ProgressBar und ein wenig Status Texte ausgibt.

Dies funktioniert erstaunlicherweise wunderbar, die Datei wird im Elevated Modus auch in normalerweise nicht erlaubte Systemordner hineinkopiert nur der besagte Statusdialog, ist nicht themed. Das Hauptfenster, das letztendlich der Aufrufer dieses COM Objektes ist, ist hingegen themed (Siehe Bild im Anhang).

Wenn ich in dem Kopier-Statusfenster diese Anweisung einfüge chkThemed.Checked := IsThemeActive; dann ist die Checkbox sehrwohl abgehakt, also sollte es eigentlich funktionieren.

Es hilft übrigens nichts, wenn ich ein Vista or XP Manifest mit in die COM Dll als Resource einbinden. Ich frage mich nur, wie Microsoft dies mit den diversen Dialogen macht, die per Elevation aufgerufen werden.
Miniaturansicht angehängter Grafiken
2008-03-07_124340_415.png  
cu, Michael

Windows 7, WinXP Pro, Vista, WinXP Home, Win98 SE
D4 C/S, D7 Enterprise, Turbo Delphi Pro, Delphi 2009
  Mit Zitat antworten Zitat