![]() |
Andocken an Rändern
Hallo
wie kann ich es relisieren, dass sich meine Forumulare aneinander so andocken (so wie Winamp) dass gleiche soll auch mit dem Bildcshrimrand passieren. |
Im Kompoback "BUPack" hab' ich mal so eine Komponente gesehen. Wenn du allerdings einen SourceCode haben willst; da kann ich dir leider nicht behiflich sein...
Chris PS: Dieses KompoPack findest du auf ![]() |
Ich glaub da hab ich mal was auf
![]() |
Moin The Omega,
wo Du schon WinAmp ansprichst: Lade Dir doch mal das WinAmp SDK runter. Auch wenn dort C(++) verwendet wird, könnte es ja sein, dass Du dort fündig wirst. |
Der BU hat geholfen, danke
|
für den bildschirmrand
Code:
private
{ Private declarations } procedure WMWindowPosChanging(var Message: TWMWINDOWPOSCHANGING); message WM_WINDOWPOSCHANGING; procedure TForm1.WMWindowPosChanging(var Message: TWMWINDOWPOSCHANGING); const distance = 10; begin { Obere und untere Festerkante } if (Message.WindowPos.y <= distance) AND (Message.WindowPos.y >= -distance) then Message.WindowPos.y := 0 else if (Message.WindowPos.y + Height > (Screen.WorkAreaHeight - distance)) AND (Message.WindowPos.y + Height < (Screen.WorkAreaHeight + distance)) then Message.WindowPos.y := Screen.WorkAreaHeight - Height; { Linke und rechte Fensterkante } if (Message.WindowPos.x <= distance) AND (Message.WindowPos.x >= -distance) then Message.WindowPos.x := 0 else if (Message.WindowPos.x + Width > (Screen.WorkAreaWidth - distance)) AND (Message.WindowPos.x + Width < (Screen.WorkAreaWidth + distance)) then Message.WindowPos.x := Screen.WorkAreaWidth - Width; end; |
Re: Andocken an Rändern
Also ich weis ja nicht, was ich falsch mach, aber bei mir kommen folgende fehler:
Undefinierter Bezeichner: 'WorkAreaHeight' und dasselbe mit : 'WorkAreaWidth' kann des sein, das der code mit delphi 3 nicht funzt? |
Re: Andocken an Rändern
für delphi 7 aufwärts user sei hier nochmals die screensnap property von tform erwähnt.
hab ich auch in der codelib schon gepostet! |
Re: Andocken an Rändern
ich hab ja aber kein delphi7, sondern delphi3!
|
Re: Andocken an Rändern
Zitat:
ich kann dir leider auch nicht helfen, hab ja selbst kein d3! |
Re: Andocken an Rändern
sch.. aaaaadeee :cry:
trotzdem danke |
Zitat:
|
Re: Andocken an Rändern
Zitat:
Grüße vom marabu |
Re: Andocken an Rändern
Die Screen.WorkAreaWidth / Height scheint es in Delphi 3 noch nicht zu geben. Du kannst Dir mit Screen.Width / Height behelfen, allerdings werden da die AppBars (Taskbar, Office Mumpf etc.) nicht eingerechnet. Entweder Du ignorierst das, oder musst Dir selber die Liste der AppBars von Windows geben und die WorkArea berechnen.
|
Re: Andocken an Rändern
Im Anschluß an alzaimars Beitrag:
Den verfügbaren Platz auf dem Bildschirm abzüglich der AppBars kannst du mit
Delphi-Quellcode:
ermitteln.
SystemParametersInfo(SPI_GETWORKAREA, 0, @IrgendeinRect, 0);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:38 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