Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Das Bildchen in einem Message-Dialog ändern (https://www.delphipraxis.net/22745-das-bildchen-einem-message-dialog-aendern.html)

isocam 22. Mai 2004 18:53


Das Bildchen in einem Message-Dialog ändern
 
Hallo,

Ich möchte mir eigene Dialogboxen basteln.
Man kann ja über
Delphi-Quellcode:
CreateMessageDialog(Nachricht,Dialogstil,Buttons) do try
...
finally

...
end;
die Dialogbox ändern und mit bspw.
Delphi-Quellcode:
(Components[x] as TButton).Caption:='neue Beschriftung';
die Eigenschaften bestimmter Komponenten innerhalb der Dialogbox ändern (hier Druckknopf verändern).

Aber wie kann ich das Bildchen, das normalerweise die Art der Nachricht anzeigt, mit Eigenen austauschen?
Delphi-Quellcode:
(Components[x] as TImage).picture.loadfromfile('eigenes Bild.bmp');
Das hier geht nicht.
Wäre nett, wenn mir jemand weiterhelfen könnte.

Robert_G 22. Mai 2004 18:59

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');

isocam 22. Mai 2004 19:05

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?

Robert_G 22. Mai 2004 19:07

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');

isocam 22. Mai 2004 19:11

Re: Das Bildchen in einem Message-Dialog ändern
 
Dann sagt der Compiler: -"Undeclared Identifier: TImage"
- Missing Operator or Semicolon"

Robert_G 22. Mai 2004 19:17

Re: Das Bildchen in einem Message-Dialog ändern
 
Hast du "ExtCtrls" in der Uses-Clause deiner Unit? Darin befindet sich die Klasse TImage.

Thorben86 22. Mai 2004 19:24

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.

pizza 22. Mai 2004 19:29

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:

Thorben86 22. Mai 2004 19:46

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"

Robert_G 22. Mai 2004 19:57

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 04:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz