Hallo alle zusammen.
Ich möchte ein IHTMLDocument über die TWebBrowser Komponente drucken. Das ganze funktioniert über die 'execCommand'-Function auch soweit. Jetzt möchte ich aber die Standardwerte in Kopf- und Fußzeile ändern. Diese stehen laut MSDN in der Registry. Ich verwende folgenden Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| Registry := TRegistry.Create; Registry.RootKey := HKEY_CURRENT_USER; Registry.OpenKey('\Software\Microsoft\Internet Explorer\PageSetup', True);
OldHeader := Registry.ReadString('Header'); OldFooter := Registry.ReadString('Footer');
Registry.WriteString('Header', 'MyHeader'); Registry.WriteString('Footer', 'MyFooter');
IHTMLDocument2(WBZusammenfassung.Document).execCommand('Print', False, 0);
Registry.WriteString('Header', OldHeader); Registry.WriteString('Footer', OldFooter); Registry.Free; |
Das Problem ist nun, dass der alte Header bereits wieder in die Registry geschrieben wird BEVOR der Druckbefehl richtig verarbeitet wird. Ich muss also irgendwie warten bis der EXECCOMMAND Befehl vollständig ausgeführt ist.
Ich hoffe jemand hat eine Idee. Danke im vorraus!!!