![]() |
Das Bildchen in einem Message-Dialog ändern
Hallo,
Ich möchte mir eigene Dialogboxen basteln. Man kann ja über
Delphi-Quellcode:
die Dialogbox ändern und mit bspw.
CreateMessageDialog(Nachricht,Dialogstil,Buttons) do try
... finally ... end;
Delphi-Quellcode:
die Eigenschaften bestimmter Komponenten innerhalb der Dialogbox ändern (hier Druckknopf verändern).
(Components[x] as TButton).Caption:='neue Beschriftung';
Aber wie kann ich das Bildchen, das normalerweise die Art der Nachricht anzeigt, mit Eigenen austauschen?
Delphi-Quellcode:
Das hier geht nicht.
(Components[x] as TImage).picture.loadfromfile('eigenes Bild.bmp');
Wäre nett, wenn mir jemand weiterhelfen könnte. |
Re: Das Bildchen in einem Message-Dialog ändern
Moin und ein herzliches Willkommen in der Delphi-PRAXIS :hi:
Du kannst natürlich der Property Picture keinen String übergeben. ;) TPicture hat aber die Methode LoadFromFile:
Delphi-Quellcode:
(Components[x] as TImage).Picture.LoadFromFile('eigenes Bild.bmp');
|
Re: Das Bildchen in einem Message-Dialog ändern
ups, da habe ich mich verschrieben. Ich meinte natürlich Loadfromfile. Ich habs oben korrigiert.
Der Compiler erkennt dieses TImage nicht an. Aber wie kann ich das Bild austauschen? |
Re: Das Bildchen in einem Message-Dialog ändern
:oops:
Ok, dann so (die 2. Möglichkeit eines Typecastings):
Delphi-Quellcode:
TImage(Components[x]).Picture.LoadFromFile('eigenes Bild.bmp');
|
Re: Das Bildchen in einem Message-Dialog ändern
Dann sagt der Compiler: -"Undeclared Identifier: TImage"
- Missing Operator or Semicolon" |
Re: Das Bildchen in einem Message-Dialog ändern
Hast du "ExtCtrls" in der Uses-Clause deiner Unit? Darin befindet sich die Klasse TImage.
|
Re: Das Bildchen in einem Message-Dialog ändern
Also ich bin auch gerade dabei nen eigenen MSG-Dialog zu basteln, mein Problem ist bisher nur, dass ich dem klar machen muss, dass es überhaupt ein TImage vorhanden ist, dem ich ein Bild zuweisen kann.
|
Re: Das Bildchen in einem Message-Dialog ändern
sowit ich weiß geht das so:
- in die uses 'ExtCtrls' machen - in die vars: Image: TImage; - Image.Picture.LoadFromFile('eigenes Bild.bmp'); (habs net ausprobiert, aber müsste so eigentlich gehen..) mfg rob :zwinker: |
Re: Das Bildchen in einem Message-Dialog ändern
@pizza: theoretisch geht dass so, nur muss man bei nem Msg-Dialog glaube ich irgendeine von den kopmonenten als TImage definieren, wenn man dass an den originalen Code "anhängt"
|
Re: Das Bildchen in einem Message-Dialog ändern
Einfach in einer Schleife durch alle Componenten des Dialogs laufen.
Wenn eine ein TImage ist, bekommt sie das da verpasst. ;) (Das hatte isocam schon richtig ;) )
Delphi-Quellcode:
var
i : Integer; begin with CreateMessageDialog('Miep', mtError, [mbOK, mbRetry]) do try for i := 0 to pred(ComponentCount) do if Components[i] is TImage then with TImage(Components[i]) do begin Picture.LoadFromFile('D:\Dev\CommonFiles\Borland Shared\Images\GlyFX\Large\stop24.bmp'); Transparent := True; Break; end; ShowModal; finally Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz