OK, dachte du kannst das "einfach" für deine Bedürfnisse umschreiben und nutzen. Aber dann hab ich das mal eben für dich gemacht.
1. Im OnEnter des Editfeldes:
Delphi-Quellcode:
procedure TForm15.Edit1Enter(Sender: TObject);
begin
ToolWin.Visible := True; // Formular anzeigen ACHTUNG hier kein .Show verwenden
end;
2. Im ToolWindow:
Delphi-Quellcode:
procedure TToolWin.FormHide(Sender: TObject);
begin
ShowWindow(
handle, SW_HIDE);
end;
procedure TToolWin.FormShow(Sender: TObject);
begin
Left := Screen.WorkAreaLeft + Screen.WorkAreaWidth - Width;
Top := Screen.WorkAreaTop + Screen.WorkAreaHeight - Height;
ShowWindow(
handle, SW_SHOWNOACTIVATE);
// das müssen wir machen, damit das Fenster keinen Fokus bekommt
end;
3. Zur Sicherheit noch die
DFM des Toolwindows:
Delphi-Quellcode:
object ToolWin: TToolWin
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'eingehender Anruf'
ClientHeight = 220
ClientWidth = 458
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
FormStyle = fsStayOnTop
OldCreateOrder = False
Position = poDefaultSizeOnly
OnHide = FormHide
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 29
end