Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   bsNone und ein andocken? (https://www.delphipraxis.net/196829-bsnone-und-ein-andocken.html)

MicMic 23. Jun 2018 18:40

bsNone und ein andocken?
 
Hallo,
Photoshop macht sein eigenes Ding. Edge sowieso. Andere machen's auch. Ich will auch :)
Also es geht um die Titelleiste. Am sichersten ist es, man macht die Form auf bsNone und malt alles selber. So ist's sicher in allen Windows-Versionen. Das ist nun nicht das Problem. Habe es aber mal eben getestet und ein Panel als Titelleiste in der Form (bsNone) oben platziert. Beim Panel in onMouseDown//Up/Move... schnell kann man die Form verschieben. Was aber nicht geht, ist dieses andocken am Desktop (Windows 10). Da kann der Benutzer dann auch danach ein anderes Fenster auswählen, was nebenan platziert wird. Dies möchte ich eigentlich nicht missen und der Benutzer am Ende auch nicht. Das müsste man doch Windows irgendwie mitteilen können, damit diese Funktion aktiviert bleibt?

Grüßle Michael

jaenicke 23. Jun 2018 19:48

AW: bsNone und ein andocken?
 
Zitat:

Zitat von MicMic (Beitrag 1405620)
Photoshop macht sein eigenes Ding. Edge sowieso. Andere machen's auch. Ich will auch :)
Also es geht um die Titelleiste. Am sichersten ist es, man macht die Form auf bsNone und malt alles selber.

Dort ist es aber nicht so... der Rand ist dort normal aktiv, wird aber anders dargestellt.

In Delphi gibt es dafür die VCL Styles. Die würde ich dafür auch sehr empfehlen.

EWeiss 23. Jun 2018 20:52

AW: bsNone und ein andocken?
 
so was?

gruss

jaenicke 23. Jun 2018 21:08

AW: bsNone und ein andocken?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Eher sowas denke ich ;-)

Anhang 49376

EWeiss 23. Jun 2018 21:29

AW: bsNone und ein andocken?
 
Zitat:

Zitat von jaenicke (Beitrag 1405635)
Eher sowas denke ich ;-)

Anhang 49376

Denke nicht..
Sein Problem
Zitat:

Was aber nicht geht, ist dieses andocken am Desktop
gruss

jaenicke 23. Jun 2018 21:52

AW: bsNone und ein andocken?
 
Zitat:

Zitat von EWeiss (Beitrag 1405639)
Sein Problem
Zitat:

Was aber nicht geht, ist dieses andocken am Desktop

Mit meinem Projekt geht genau das trotz Style, um den es hier ja geht...

EWeiss 23. Jun 2018 22:17

AW: bsNone und ein andocken?
 
Zitat:

Zitat von jaenicke (Beitrag 1405641)
Zitat:

Zitat von EWeiss (Beitrag 1405639)
Sein Problem
Zitat:

Was aber nicht geht, ist dieses andocken am Desktop

Mit meinem Projekt geht genau das trotz Style, um den es hier ja geht...

Zitat:

Also es geht um die Titelleiste. Am sichersten ist es, man macht die Form auf bsNone und malt alles selber. So ist's sicher in allen Windows-Versionen
Er hat nix von styles gesagt er will alles selber malen und trotzdem das Docking verhalten nicht verlieren.
Na wie auch immer ;)

gruss

MicMic 23. Jun 2018 22:35

AW: bsNone und ein andocken?
 
Danke für die Antworten.
Kenne die Styles, finde aber doch da ist viel Buggy drin.

Deshalb "bsNone" und selbst rumbasteln. Das "Andocken" geht dabei jedoch verloren, könnte mir aber vorstellen, dass es hier wiederum in der Win API was dazu gibt. Habe aber nichts gefunden dazu. Alternativ kann ja die Titelleiste mit Funktionen bemalt werden. Hier gibt's aber viel zu beachten und ich denke auch, Win-Versionen müssen auch unterschieden werden. Ein "bsNone" und die Titelleiste/Rahmen selbst zu gestalten ist da eher einfacher. Das Andocken dann wegzulassen, wäre aber wieder nicht so toll.

Michael

jaenicke 24. Jun 2018 02:29

AW: bsNone und ein andocken?
 
Zitat:

Zitat von MicMic (Beitrag 1405644)
Kenne die Styles, finde aber doch da ist viel Buggy drin.

Da ist dann immer die Frage, ob man selbst weniger Bugs einbaut. ;-) Ich hatte bisher noch keine Probleme mit den Styles, setze sie aber auch nur wenig ein, da ich es für die meisten Projekte für keine gute Idee halte vom Systemstandard abzuweichen.

Zitat:

Zitat von MicMic (Beitrag 1405644)
Deshalb "bsNone" und selbst rumbasteln. Das "Andocken" geht dabei jedoch verloren, könnte mir aber vorstellen, dass es hier wiederum in der Win API was dazu gibt.

Es gibt ja die Message WM_NCHITTEST, mit der man Windows sagen kann zu welchem Fensterbereich eine Mausposition gehört. Damit funktioniert dann z.B. die Bewegung und das Resizen des Fensters, wenn ich mich recht entsinne. Allerdings funktioniert leider trotzdem das Docken nicht.
Das siehst du an einem meiner alten Projekte, das genau das macht (ewig nicht aktualisiert, kompiliert aber unter 10.2 Tokyo problemlos):
https://www.delphipraxis.net/129742-...-mit-skin.html

MicMic 24. Jun 2018 09:29

AW: bsNone und ein andocken?
 
Zitat:

Zitat von jaenicke (Beitrag 1405656)
Zitat:

Zitat von MicMic (Beitrag 1405644)
Kenne die Styles, finde aber doch da ist viel Buggy drin.

Da ist dann immer die Frage, ob man selbst weniger Bugs einbaut. ;-) Ich hatte bisher noch keine Probleme mit den Styles, setze sie aber auch nur wenig ein, da ich es für die meisten Projekte für keine gute Idee halte vom Systemstandard abzuweichen.

Eher muss man Umwege finden, um Bugs zu umgehen. Abgesehen davon... ich weis nicht warum aber bei mir ist mit Styles z.B. die Titelleiste ganz klein und die Buttons darin auch. Später ist es vielleicht so, dass beim Programmierer dies und das stimmt und beim Endnutzer es hier und da knackst, was die Optik angeht. Da halte ich dann doch lieber Abstand von den Styles.

Zitat:

Zitat von jaenicke (Beitrag 1405656)
Zitat:

Zitat von MicMic (Beitrag 1405644)
Deshalb "bsNone" und selbst rumbasteln. Das "Andocken" geht dabei jedoch verloren, könnte mir aber vorstellen, dass es hier wiederum in der Win API was dazu gibt.

Es gibt ja die Message WM_NCHITTEST, mit der man Windows sagen kann zu welchem Fensterbereich eine Mausposition gehört. Damit funktioniert dann z.B. die Bewegung und das Resizen des Fensters, wenn ich mich recht entsinne. Allerdings funktioniert leider trotzdem das Docken nicht.
Das siehst du an einem meiner alten Projekte, das genau das macht (ewig nicht aktualisiert, kompiliert aber unter 10.2 Tokyo problemlos):
https://www.delphipraxis.net/129742-...-mit-skin.html

Mit WM_NCHITTEST habe ich auch schon rumprobiert. Schade das die Dock-Funktion nicht mehr geht und bevor man alles nun verschlimmbessert, sollte man wohl lieber ne normale Form beibehalten. Hätte gerne weitere Möglichkeiten gehabt und bei bsNone und ne TPanel-Titelleiste... da hätte man sich richtig austoben können. :)

Michael


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz