Thema: Delphi Unit für Appbar

Einzelnen Beitrag anzeigen

-=IOI=-

Registriert seit: 5. Mär 2005
54 Beiträge
 
#6

Re: Unit für Appbar

  Alt 5. Apr 2005, 19:33
Das OnCreate der Hauptform beginnt so:

Delphi-Quellcode:
ClientWidth := 120;
  ClientHeight := Screen.Height - 28;
  Left := Screen.Width - ClientWidth;
  Top := 0;

  aAppBarData.cbSize := SizeOf(TAppBarData);
  aAppBarData.hWnd := Self.Handle;
  aAppBarData.uCallbackMessage := WM_APPBARMSG;
  aAppBarData.uEdge := ABE_RIGHT;
  {Alternative Werte: ABE_BOTTOM, ABE_LEFT, ABE_RIGHT, ABE_TOP}

  aAppBarData.rc.Left := Form1.Left;
  aAppBarData.rc.Right := Screen.Width;
  aAppBarData.rc.Top := Form1.Top;
  aAppBarData.rc.Bottom := Form1.ClientHeight;
  iResult := SHAppBarMessage(ABM_NEW, aAppBarData);

  if iResult = 0 then
  begin
    ShowMessage('Die AppBar konnte nicht erzeugt werden. Unter Umständen existiert bereits eine AppBar an dieser Position.');
    Exit;
  end;

  SHAppBarMessage(ABM_QUERYPOS, aAppBarData);
  SHAppBarMessage(ABM_SETPOS, aAppBarData);
  Application.ProcessMessages;
  MoveWindow(aAppBarData.hWnd, aAppBarData.rc.Left, aAppBarData.Rc.Top,
    GetSystemMetrics(SM_CXSCREEN), aAppBarData.rc.Bottom, true);

  MPEGaudio := TMPEGaudio.Create;

  Randomize;
  z := 1;
  schirm := 0;
  Maximieren1.Enabled := false;
  Minimieren1.Enabled := true;

  F2 := TForm2.Create(self);
  F2.Show;
  F3 := TForm3.Create(self);
  F3.Show;
  F4 := TForm4.Create(self);
  F4.Show;
und das OnShow der anderen Forms beginnt so: (natürlich für jede Form angepasst)

Delphi-Quellcode:
ClientWidth := 120;
  ClientHeight := Screen.Height - 28;
  Left := 0;
  Top := 0;

  aAppBarData.cbSize := SizeOf(TAppBarData);
  aAppBarData.hWnd := Self.Handle;
  aAppBarData.uCallbackMessage := WM_APPBARMSG;
  aAppBarData.uEdge := ABE_LEFT;
  {Alternative Werte: ABE_BOTTOM, ABE_LEFT, ABE_RIGHT, ABE_TOP}

  aAppBarData.rc.Left := Form2.Left;
  aAppBarData.rc.Right := Form2.ClientWidth;
  aAppBarData.rc.Top := Form2.Top;
  aAppBarData.rc.Bottom := Form2.ClientHeight;
  iResult := SHAppBarMessage(ABM_NEW, aAppBarData);

  if iResult = 0 then
  begin
    ShowMessage('Die AppBar konnte nicht erzeugt werden. Unter Umständen existiert bereits eine AppBar an dieser Position.');
    Exit;
  end;

  SHAppBarMessage(ABM_QUERYPOS, aAppBarData);
  SHAppBarMessage(ABM_SETPOS, aAppBarData);
  Application.ProcessMessages;
  MoveWindow(aAppBarData.hWnd, aAppBarData.rc.Left, aAppBarData.Rc.Top,
    GetSystemMetrics(SM_CXSCREEN), aAppBarData.rc.Bottom, true);
Hoffe, dass hilft weiter
  Mit Zitat antworten Zitat