Registriert seit: 5. Mär 2005
54 Beiträge
|
Re: Unit für Appbar
5. Apr 2005, 20: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
|
|
Zitat
|