Entwickler-Ecke

Windows API - Form immer über Tary


Harry M. - Fr 28.01.05 01:52
Titel: Form immer über Tary
wie kann ich ein form immer unter rechts anzeigen bzw "andocken" obwohl ich künftige auflösungen des user nicht kenne?


Sprint - Fr 28.01.05 02:05

Der Suchbegriff lautet: SHAppBarMessage


Harry M. - Fr 28.01.05 03:35

astrein!! thx

löst aber mein problem noch nicht ganz. hier wird jweils die kompltte seite mit der form gefüllt. ich möchte nur ein kleine fenster habe. ähnlich norton anti virus. wenn nach einen update gemeldet wird man sei jetzt wieder "sicher"


Sprint - Fr 28.01.05 05:22

Hab dir mal ein kleines Beispiel geschrieben. Kann dir aber nicht sagen, wie sich das ganze in MultiMonitor-Betrieb verhält. Außerdem wird nur berücksichtigt ob die Taskbar oben oder unten liegt. Wenn die Taskbar auf der rechten Seite liegt, dann musst du den Code noch anpassen. Denke aber mal, das das als Hilfestellung so reicht.


Delphi-Quelltext
1:
uses ShellAPI;                    


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm1.FormCreate(Sender: TObject);
var
  AppBarData: TAppBarData;
begin

  with Self do
  begin
    Width := 100;
    Height := 100;
    Left := Screen.Width - Width;
  end;

  FillChar(AppBarData, SizeOf(TAppBarData), 0);
  AppBarData.cbSize := SizeOf(TAppBarData);
  SHAppBarMessage(ABM_GETTASKBARPOS, AppBarData);
  if AppBarData.uEdge = ABE_BOTTOM then
    with Self do
      Top := Screen.Height - Height - (AppBarData.rc.Bottom - AppBarData.rc.Top);

end;


Harry M. - Fr 28.01.05 05:29

habe ich mir eben gebastelt


Delphi-Quelltext
1:
2:
  Left := screen.width - Width;
  Top := screen.height - height -77;


ist zwar nicht ganz das gleiche was ich suche. erfüllt aber meinen zweck.

ich werde deines aber mal noch testen

gruß

Moderiert von user profile iconKlabautermann: Code- durch Delphi-Tags ersetzt.


Harry M. - Fr 28.01.05 05:32

ich muß gestehen dein code ist besser. danke nochmals - problem gebannt...

gruß