Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Fensterwechsel unterbinden / Hintergrundproceduren

  Alt 12. Nov 2007, 07:58
Delphi-Quellcode:
procedure Tf_hauptprogramm.FormPaint(Sender: TObject);
begin
  if f_admin.Showing = true then else e_benutzernummer.SetFocus; // <---- Hier wird der Fokus gesetzt.
  if fileexists('logo.bmp') then Image1.Picture.LoadFromFile('logo.bmp');
end;
Das ist eben falsch. Im FormPaint sollte so etwas nicht drinstehen. FormPaint wird ja immer dann aufgerufen, wenn das Formular neu gezeichnet werden muss, und das wird es vermutlich auch, wenn man ein Label ändert.

Du willst, das das Eingabefeld immer den Fokus hat. Dann sorg dafür, das es den Fokus immer dann bekommt, wenn es ihn verloren hat, und nicht mit der Holzhammermethode: 'DU-KRIEGST-DEN-FOKUS-VERDAMMT-EGAL-WAS-PASSIERT'.

Im FormPaint lädst Du zudem ein Bild von der Festplatte. Wieso eigentlich? Ein Mal sollte doch reichen. Zudem ist das fehlerbehaftet, weil sich ja das Stammverzeichnis ändern könnte. Lade das Bild im OnCreate-Ereignis oder nur dann, wenn Image1.Picture leer ist.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat