![]() |
Delphi-Version: 7
Appbar überdeckt StandartTaskleiste
Hey habe jetzt eine Appbar erstellt geht auch an die Rechte seite aber überdeckt die Normale Windowsleiste. Was halt nicht sein soll.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalc, Buttons, Menus, dxTaskbarProgress, StdCtrls, cxButtons, cxCalendar, ShellApi; type TForm1 = class(TForm) Uhr: TcxClock; MailBtn: TcxButton; Googlesuche: TEdit; WordBtn: TcxButton; CalcBtn: TcxButton; FaceBtn: TcxButton; AmazonBtn: TcxButton; procedure GooglesucheKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private-Deklarationen } fAppBarData: _AppBarData; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.GooglesucheKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var X : string; begin X := GoogleSuche.Text; if key = VK_Return then begin ShellExecute(handle, nil, Pchar('https://www.' + X + '.de'), nil, nil, SW_SHOW) end; end; procedure TForm1.FormCreate(Sender: TObject); const WM_APPBARMSG = WM_USER + 1; var iResult: integer; begin fAppBarData.cbSize := SizeOf(TAppBarData); fAppBarData.hWnd := Self.Handle; fAppBarData.uCallbackMessage := WM_APPBARMSG; fAppBarData.uEdge := ABE_RIGHT; fAppBarData.rc.Left := Screen.Width - Self.Width; fAppBarData.rc.Right := Screen.Width; fAppBarData.rc.Top := 0; fAppBarData.rc.Bottom := Screen.Height; //Denke das es hier dran liegt jedoch welchen wert muss ich eingeben? iResult := SHAppBarMessage(ABM_NEW, fAppBarData); if iResult = 0 then begin ShowMessage('Die TaskBar konnte nicht erstellt werden. Möglicherweise existiert bereits eine TaskBar an dieser Position'); Exit; end; self.Width := screen.Width; SHAppBarMessage(ABM_QUERYPOS, fAppBarData); SHAppBarMessage(ABM_SETPOS, fAppBarData); Application.ProcessMessages; MoveWindow(fAppBarData.hWnd, fAppBarData.rc.left, fAppBarData.rc.top, GetSystemMetrics(SM_CXSCREEN), fAppBarData.rc.Bottom, true); end; procedure TForm1.FormDestroy(Sender: TObject); begin SHAppBarMessage(ABM_REMOVE, fAppBarData); end; end. |
AW: Appbar überdeckt StandartTaskleiste
Ich habe hier mal die Offtopic-Beiträge gelöscht.
Eine Sache möchte ich an dieser Stelle ganz deutlich machen: Sich nicht an einer Diskussion beteiligen zu wollen, ist völlig in Ordnung. Einem Anfänger ans Bein zu pinkeln, weil sein Ansatz möglicherweise arg unbeholfen ist, geht gar nicht. Helfen oder bleiben lassen - aber nicht nur rummosern. Solche Verhaltensweisen sind auch im echten leben im Allgemeinen unbeliebt - ich weiß gar nicht, warum sich das einige immer wieder in der Online-Welt rausnehmen müssen. |
AW: Appbar überdeckt StandartTaskleiste
Hy,
probiere es mit Screen.WorkAreaHeight (WorkAreaTop, WorkAreaLeft, WorkAreaWidth). |
AW: Appbar überdeckt StandartTaskleiste
Hey rapante hab es hinbekommen hatte lediglich die Höhe zu groß eingestellt :)
trotzdem danke! |
AW: Appbar überdeckt StandartTaskleiste
Funktioniert das dann jetzt mit jeder Auflösung, oder nur mit dem, was Du ausgemessen hast? Rapantes Vorschlag müsste eigentlich ziemlich genau das sein, was Du brauchst, um es allgemeingültig hinzubekommen.
Sherlock |
AW: Appbar überdeckt StandartTaskleiste
Ich denke es ist nur für die Auflösung die ich habe.. Weiß aber nicht genau wie ich rapantes Vorschlag einbinden soll.
|
AW: Appbar überdeckt StandartTaskleiste
Zitat:
Leider wurden die Beiträge durch Daniel mit diesem Hinweis gelöscht: Zitat:
Zitat:
Forular.Top auf Screen.WorkAreaTop. Und Left auf Screen.WorkAreaLeft + Screen.WorkAreaWidth - Self.Width. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz