[Delphi] form docken aan zijkant scherm

Pagina: 1
Acties:

  • MerijnB
  • Registratie: Oktober 2000
  • Laatst online: 17:25
...en dat lukt bijna. Als je googled vind je flink wat en het werkt dan ook bijna.

Maar ik wil (net als in bijv trillian) dat als je form docked aan een van de zijkanten, het form net zo hoog wordt gemaakt als je scherm.

Het eea werkt door het zelf handlen van WM_WINDOWPOSCHANGING. Op het moment dat er gedocked wordt verander ik de WindowPos (die meekomt met WM_WINDOWPOSCHANGING) zo, zodat het form de juiste maat en positie krijgt. Dit werkt, alleen wordt het form meteen weer teruggezet op de oude plek met de oude grootte.

Ik heb geprobeerd om direct de form.width, form.height, etc te zetten, maar dat werkt niet.
Ik heb ook geprobeerd om de form.width etc te zetten NADAT ik klaar ben met het afwikkelen van de dan lopende WM_WINDOWPOSCHANGING, werkt ook niet.

ik vermoed dat het komt omdat ik nog met m'n window aan het slepen ben, dus ik heb ook geprobeerd om dingen als WM_MOUSEUP en WM_EXITSIZEMOVE naar het betreffende form te sturen, zodat de move actie wordt afgebroken, werkt ook niet *zucht*

verder heb ik geprobeerd om wat met de flag te spelen die wordt meegestuurd in de WindowPos, maar eigenlijk weet ik niet precies wat daar dan ingezet zou moeten worden of in zou moeten staan, dus dat heeft tot nu toe ook niet gewerkt.

ik heb compilerende code + executable neergezet op www.xs4all.nl/~bosma/screendocktest.zip voor als iemand wil kijken

regel 217 van de unit screendocker is de plek waar het zou moeten gebeuren.

owja, ik weet dat TCustomForm een ScreenSnap property heeft, maar daar kom ik helaas niet mee weg.

A software developer is someone who looks both left and right when crossing a one-way street.


  • MerijnB
  • Registratie: Oktober 2000
  • Laatst online: 17:25
ok, deze mag dicht.

na verder zoeken kwam ik erachter dat ik eigenlijk iets wil dat allang bestaad
nl. een appbar.... |:(

A software developer is someone who looks both left and right when crossing a one-way street.