Die Maus im Panel gefangen zu halten ist keine Lösung. Der Benutzer soll sein System verwenden können, nur eben kurzzeitig das Programm nicht.
Mit dem Panel habe ich es auch schon versucht. Ich will das ganze aber als allgemeinen Dialog realisieren, den ich an verschiedenen Programmstellen verwenden kann. Ich bin daran gescheitert, dass ich nicht weiß wie ich den Panel dann an die richtige Stelle zeichne. Ich habe es so versucht:
Delphi-Quellcode:
TWaitDlg = class(TObject)
protected
FOwner : TComponent;
Panel : TFlatPanel;
Label1 : TLabel;
Label2 : TLabel;
Animation : TAnimate;
public
constructor Create(Owner: TComponent);
procedure Show;
procedure Hide;
end;
implementation
{$R *.dfm}
uses
Math;
constructor TWaitScreenDlg.Create(Owner: TComponent);
begin
Panel := TPanel.Create(Owner);
Panel.BringToFront;
// ... Andere Teile des Panels erstellen
Panel.Visible := false;
end;
procedur TWaitScreenDlg.Show;
begin
Panel.visable := true;
end;
procedur TWaitScreenDlg.Hide;
begin
Panel.visable := false;
end;
==============
var
dlg: TWaitDlg;
begin
dlg := TWaitDlg.Create(MainForm);
// dlg := TWaitDlg.Create(EinPanel);
dlg.Show;
TuWas();
dlg.Hide;
end;
Das Programm läuft zwar, aber der Panel wird nicht angezeigt... Eine Idee was ich falsch mache?
Besten Dank
Ares