![]() |
Form in Taskleiste zwischen ReBarWindow32 & TrayNotifyWn
Hi,
ich möchte eine Form / Panel / Bild in die Taskleiste einbauen, jedoch ohne DeskBands da diese meinen Wünschen nicht entsprechen. :stupid: Edit: Hab ein ![]() Edit2 Was ich dem Source entnehmen kann ist dass ich irgendwie mit RECT arbeiten muss.. Die Handles der Taskleiste sind ja folgendermaßen aufgebaut:
Code:
// Shell_TrayWnd
// |- Button // |- ReBarWindow32 // | |- MSTaskSwWClass // | | +- ToolbarWindow32 // | +- ToolbarWindow32 // |- ]]]] Hier soll mein Control rein [[[[ // +- TrayNotifyWnd // |- TrayClockWClass // |- SysPager // | +- ToolbarWindow32 // +- Button Grob gesagt möchte ich etwas zwischen ReBarWindow32 und TrayNotifyWnd quetschen. Wie das aussieht kann man sich bei NHC (Notebook Hardware Control) ansehen: ![]() Das habe ich bisher versucht:
Delphi-Quellcode:
Das klappt auch, jedoch landet das Panel dann irgendwo unterm Startbutton.
var Shell_TrayWnd_HWND: HWND;
begin // Das Handle von der Taskleiste rauskriegen Shell_TrayWnd_HWND := FindWindow('Shell_TrayWnd', nil); // Taskleiste als Parent fürs Panel setzen Windows.SetParent(Panel1.Handle,Shell_TrayWnd_HWND); end; Natürlich könnte man mit Windows.MoveWindow das Panel zur gewünschten Stelle veschieben, jedoch ist das keine Lösung. Wie kann ich dem Panel begfreiflich machen dass von der Position her ReBarWindow32 und TrayNotifyWnd seine "Geschwister" sind? Vielen dank für jede Hilfe! :thumb: |
Re: Form in Taskleiste zwischen ReBarWindow32 & TrayNoti
...geht das nicht per
![]() |
Re: Form in Taskleiste zwischen ReBarWindow32 & TrayNoti
Zitat:
Deskbands mag ich nicht benutzen, da - es auch ohne sie geht (siehe NHC) - ich ihr "verhalten" nicht mag - Deskbands zu umfangreich sind. (Möchte nur einen Simplen Button, zwecks Launcher Programm) - verschiedene andere gründe. |
Re: Form in Taskleiste zwischen ReBarWindow32 & TrayNoti
Ja, das ganze zeugs war mir zu viel zum Lesen :stupid:
|
Re: Form in Taskleiste zwischen ReBarWindow32 & TrayNoti
Zitat:
denen wird einfach die ReBar gekürzt und siehe da Platz zwischen Rebar und Tray ;-) PS: Du hast nur ein Problem, Taskbar Bug, du must via Timer z.b. die ReBar Size überwachen und wieder kürzen fals sie ihre Orginal Size wieder hat. Code Technisch so in etwa : Windows.MoveWindow(MyReBarHWnd, L,T,R,B, True); Windows.RedrawWindow(MyReBarHWnd, nil,0,RDW_UPDATENOW or RDW_FRAME or RDW_INVALIDATE ); hoffe das hilft dir ein bissel.. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09: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