Announcement

Collapse
No announcement yet.

Anwendung ähnlich wie Taskleiste

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anwendung ähnlich wie Taskleiste

    Hallo,
    mich würde interessieren, wie man es hinbekommt, dass z.B. am oberen Bildschirmrand ein kleines Programm eingeblendet wird, dass von anderen Programmen nicht überlagert werden kann.
    In meiner Anwendung sollen dort bestimmte Statusanzeigen laufen, die permanent sichtbar sein sollen. Andere Programme sollen also auch nach dem Maximieren diesen Bereich nicht überlagern.

    Ich habe bereits folgenden Ansatz versucht:

    var aRect, OrgRect:TRect;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    SystemParametersInfo(SPI_GetWorkArea,0,@OrgRect,0) ;
    Form1.Borderstyle := bsNone;
    Form1.top := 0;
    aRect := OrgRect;
    aRect.Top := 50;
    SystemParametersInfo(SPI_SETWORKAREA, 0, @aRect, SPIF_SendWinIniChange);
    end;

    procedure TForm1.FormDestroy(Sender: TObject);
    begin
    SystemParametersInfo(SPI_SETWORKAREA, 0, @OrgRect, SPIF_SendWinIniChange);
    end;

    Leider klappt diese Lösung nicht richtig:
    1. Die Desktop-Symbole rutschen nicht nach unten. Die Software überlagert also z.B. den Arbeitsplatz

    2. Das Formular wird nicht am oberen Rand sondern 50 Pixel tiefer angezeigt.

    Wer kennt die Lösung?

    Gerd

  • #2
    Vielleicht SHAppBarMessage etc.? Speziell für Delphi findet man
    da allerdings wenig Infos. :-(
    <br>Ul

    Comment

    Working...
    X