Thema: Delphi Fenster wie bei ICQ

Einzelnen Beitrag anzeigen

tobster

Registriert seit: 19. Sep 2003
Ort: Schmalkalden
92 Beiträge
 
Delphi XE Starter
 
#17

Re: Fenster wie bei ICQ

  Alt 3. Mär 2004, 20:35
Zitat von billi:
Zitat:
Wenn gewünscht grabbe ich die paar Zeilen mal aus nem Proggi von mir.
Jo, das wär nett...
gruß
billi
Zum Thema Appbar zurück:

Code:
uses [...], ShellAPI;

type
  TForm1 = class(TForm)
   [...]
  private
    { Private-Deklarationen }
    AppBar: TAppBarData;
  end;
   
[...]

procedure TForm1.DoAppbar(Sender: TObject);
begin
 with AppBar do begin
  cbSize := SizeOf(TAppBarData);
  hWnd := Form1.Handle;
  uEdge := ABE_TOP;
 end;
 SHAppBarMessage(ABM_NEW, AppBar);
 SystemParametersInfo(SPI_GETWORKAREA, 0, @AppBar.rc, 0);
 AppBar.rc.Bottom := AppBar.rc.Top+100;
 SHAppBarMessage(ABM_QUERYPOS, AppBar);
 SHAppBarMessage(ABM_SETPOS, AppBar);
 Application.ProcessMessages;
 [...]
 MoveWindow(Form1.Handle,AppBar.rc.Left,AppBar.rc.Top,AppBar.rc.Right,AppBar.rc.Bottom,true);
 SendMessage(Form1.Handle, wm_sizing,0,0);
end;
Spätestens beim Beenden seines Proggies sollte man dann den reservieren Bereich (hier 100 Pixel am oberen Rand) wieder freigeben:

Code:
 SHAppBarMessage(ABM_REMOVE, AppBar);
Ich habs nicht so mit Kommentaren, aber eigentlich sollte man ja sehen, wo was hingehört.
Ciao
  Mit Zitat antworten Zitat