![]() |
Andocken wie z.B. bei Miranda/ICQ
Hallo ihr Delphi-Praxis-Menschen, :-D
ich bin gerade dabei eine Art Systemleiste zu erstellen, in die Symbole wie bei der Windows-Taskbar (Quickstart) eingefügt werden können, die Lautstärke verändert werden kann, und bei der die Prozessortemperatur und -auslastung usw. angezeigt wird. Das Andocken an die Windows Startleiste ist kein Problem, nur frage ich mich, wie ich verhindern kann, dass meine Leiste die anderen Programme verdeckt. So wie es z.B. bei Miranda ist. Wenn man Miranda aus der Tray holt, dann verkleinert sich praktisch der Workspace(?), also die anderen Programme docken sozusagen an Miranda an, wenn man sie maximiert o. Ä. Ich habe keine Ahnung, wie diesen Effekt erreichen kann. :gruebel: Danke schonmal im Voraus für eure Hilfe und ich hoffe ich habe es Verständlich geschrieben. :thumb: |
Re: Andocken wie z.B. bei Miranda/ICQ
Liste der Anhänge anzeigen (Anzahl: 1)
Versuche es damit (siehe Anhang). Irgendwo hab ich noch ein Beispielcode. Schwer ist es nicht, hab es sogar selbst entwickelt. Aber diese fremde Komponente hab ich auf meinem Rechner zuerst gefunden ;) Die ist sogar gut, also wozu weiter suchen?
Es ist eine Komponente, bzw. Unit für Delphi 3, allerdings mit Sourcecode. Du brauchst sie nicht erst installieren, du kannst das Beispiel so testen. Pack dann das kleine Fenster und schiebe es an den oberen, linken oder rechten Bildschirmrand. Es wird andocken und der Arbeitsbildschirm wird verkleinert. |
Re: Andocken wie z.B. bei Miranda/ICQ
Hallo, danke für deine Hilfe! Ist ja echt ne super Komponente.
-Problem gelöst- |
Re: Andocken wie z.B. bei Miranda/ICQ
Aber mich würde trotzdem interessieren, wie man den Arbeitsbereich einschränken könnte (Ansatzweise). Ich werd aus der Unit (appbar.pas) nicht sonderlich schlau. :coder2: Ich meine, es könnte bestimmt auch andere interessieren.
Sofern es nicht gerade wahnsinnig kompliziert ist, weil ich bald erst 1 1/2 Jahre Informatik hab (MSS12). Dennoch weiß ich oftmals mehr als mein Lehrer. Achja: Die mir empfohlene Komponente kann ich nur weiterempfehlen. |
Re: Andocken wie z.B. bei Miranda/ICQ
Zitat:
mfg |
Re: Andocken wie z.B. bei Miranda/ICQ
Zitat:
Natürlich kann das Beispiel nicht das was die Komponente kann, aber es zeigt den wichtigsten Punkt.
Delphi-Quellcode:
function TForm1.TaskHoehe: Integer;
var hWnd: Longint; rRect: TRect; begin {berechnen der Taskleistenhöhe} hWnd := FindWindow(PCHAR('Shell_TrayWnd'),PCHAR('')); if hWnd <> 0 then begin GetWindowRect( hWnd, rRect ); TaskHoehe := rRect.Bottom - rRect.Top; end else TaskHoehe := 0; {keine Taskleiste gefunden (Oder alternativ 28 Pixel/ Win98)} end; procedure TForm1.SetNewScreenArea(OnOff: Boolean); var rTemp, rDef: TRect; begin if OnOff then begin SystemParametersInfo(SPI_GetWorkArea, 0, Pointer(@rDef), 0); Top := 0; Left := 0; Height := Screen.Height - TaskHoehe + 3; rTemp := rDef; rTemp.Left := Width + 3; SystemParametersInfo(SPI_SetWorkArea, 0, Pointer(@rTemp), 0); end else begin //{als Rettungsanker:} rDef := Rect(0, 0, Screen.Width, Screen.Height); SystemParametersInfo(SPI_SetWorkArea, 0, Pointer(@rDef), 0); end; end; procedure TForm1.Button1Click(Sender: TObject); begin SetNewScreenArea(True); end; procedure TForm1.Button2Click(Sender: TObject); begin SetNewScreenArea(False); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 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