| Autor |
Beitrag |
Peti
      
Beiträge: 42
|
Verfasst: Do 03.04.03 09:51
Hallo zusammen,
weiss jemand von Euch, ob und wie man den Titel von Dialogboxen, z.B. vom PrintDialog, ändern kann?
Ich wäre für Hilfe sehr dankbar,
Gruß,
Peti
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 03.04.03 10:10
Bei den Open- und Savedialogen müßte das im Objekt-Inspektor gehen. Kuck da mal.
|
|
Peti 
      
Beiträge: 42
|
Verfasst: Do 03.04.03 10:13
Titel: Leider nicht
Nein, leider nicht. Allerdings kann man hier die Eigenschaft Title setzen.
Ich benötige es aber speziell im PrintDialog, der (scheinbar) keine solche Eigenschaft besitzt. Aber irgendwie muss das doch gehen, oder???
Zuletzt bearbeitet von Peti am Do 03.04.03 10:31, insgesamt 1-mal bearbeitet
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 03.04.03 10:26
|
|
Peti 
      
Beiträge: 42
|
Verfasst: Do 03.04.03 11:03
Prima, jetzt bin ich schon ein ganzes Stück weiter.
Mein Problem ist nun noch, dass ich den PrintDialog dynamisch erzeuge und Probleme habe, das OnShow-Event zuzuweisen.
Mein fehlerhafter Code:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| TYPE MyPrintDialog = class(TPrintDialog) procedure MyShow(Sender: TObject); end; VAR PrintDialog1:MyPrintDialog;
Procedure MyPrintDialog.MyShow(Sender: TObject); Begin {} End;
Function XYZ:Boolean; Begin PrintDialog1:=MyPrintDialog.Create(TargetForm); PrintDialog1.OnShow:=MyPrintDialog.MyShow(PrintDialog1); End; |
Er meckert bei
PrintDialog1.OnShow:=MyPrintDialog.MyShow(PrintDialog1);
Kann mir jemand sagen, was falsch ist?
Danke schonmal,
Gruß,
Peti
|
|
wulfskin
      
Beiträge: 1349
Erhaltene Danke: 1
Win XP
D5 Pers (SSL), D2005 Pro, C, C#
|
Verfasst: Do 03.04.03 12:06
Hall Peti!
Nur kurz überflogen. So sollte es klappen: PrintDialog1.OnShow:=MyPrintDialog.MyShow;Gruß wulfskin!
_________________ Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
|
|
Peti 
      
Beiträge: 42
|
Verfasst: Fr 04.04.03 07:32
Titel: Geht nicht....
Hi Wulfskin,
leider nicht.... der Compiler meldet den folgenden Fehler:
[Fehler] WordDocumentPrinter.pas(66): Inkompatible Typen: 'TNotifyEvent' und 'Procedure'
Ich habe das Gefühl, dass das eher damit zusammenhängt, dass ich das Ganze in einer Unit abwicklen möchte, in der es kein Formular gibt.
Wenn ich den PrintDialog auf ein bestehendes Formular setzen würde wäre alles kein Problem. Ich habe aber leider kein Formular, brauche aber das OnShow-Ereignis, um den Titel des Dialogs ändern zu können.
Alles andere - also Word-Dokument im Hintergrund einlesen, ändern und ausdrucken usw. klappt einwandfrei - nur diesen blöden Titel des DruckDialogs kann ich nicht ändern *grrr*
Kann mir jemand einen Tip geben, wie ich diese Ereignis-Routine auch ohne Formular aufrufen kann???
Ich wäre für Tips sehr dankbar.....
Trotzdem schonmal vielen vielen Dank für die ganzen Tips,
Grüße,
Peti
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Fr 04.04.03 08:10
Hi,
dann nimm doch einfach ein Formular und setze von diesem die Eigenschaft Visible auf False. Dann ist es zur Laufzeit nicht sichtbar.
MFG
- Ernesto -
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Fr 04.04.03 08:22
| wulfskin hat folgendes geschrieben: | | So sollte es klappen:PrintDialog1.OnShow:=MyPrintDialog.MyShow; |
Fast..
Quelltext 1:
| PrintDialog1.OnShow:=PrintDialog1.MyShow; |
Oder aber du machst das ganze gleich im Constructor:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| TYPE MyPrintDialog = class(TPrintDialog) public procedure MyShow(Sender: TObject); constructor Create(AOwner: TComponent); override; end;
constructor MyPrintDialog.Create(AOwner: TComponent); begin inherited; OnShow := MyShow; end; |
Falls er in der Zeile: constructor Create(AOwner: TComponent); override;
einen Fehler meldet, dann ersetz override einfach durch reintroduced. (Weiß jetzt nicht ob der Constructor des PrintDialogs als virtual deklariert ist oder nicht..)
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
Peti 
      
Beiträge: 42
|
Verfasst: Fr 04.04.03 08:44
Super, damit werde ich mal herumexperimentieren.
Danke für Eure Hilfe!!!
Gruß,
Peti
|
|