![]() |
Breite der Titelleiste ändern
Hallo zusammen,
kennt jemand eine Möglichkeit, die Titelleiste eines Formulars (nur die Titelleiste, nicht den Rahmen!) auf eine bestimmte Höhe zu bringen? Ich möchte, dass die Titelleiste breiter damit für gewisse Personen, die diese schmale Leiste nicht treffen, diese größer ist und besser das Formular verschieben können. Ich hoffe ihr könnt mir da helfen. Danke und viele Grüße, Alex |
Re: Breite der Titelleiste ändern
Die Titelleiste gehört zum Non-Client Bereich des Fensters und wird von Windows gezeichnet. Jemand dem die Höhe zu klein ist, kann dies systemweit entsprechend anpassen. Du solltest es auch dem Benutzer selber überlassen, wie er es gerne haben möchte.
|
Re: Breite der Titelleiste ändern
Natürlich bleibt ausserdem aber noch die Möglichkeit, Mausklicks und Drag&Drop auf den Clientbereich ebenso zu handhaben als wären diese auf die Titelleiste erfolgt... Bei Winamp z.B. kann man auch das ganze Fenster verschieben wenn man es an einem freien Punkt innerhalb des Fensters "anfasst". (Also dort wo keine Steuerelemente im Fenster liegen...)
|
Re: Breite der Titelleiste ändern
Hallo zusammen,
Danke für den Tip @OldGrumpy. Weißt du auch zufällig wie diese Funktion wie du sie beschrieben hast, realisiert wird? Viele Grüße, Alex |
Re: Breite der Titelleiste ändern
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private-Deklarationen } protected procedure WMLButtonDown(var msg: TMsg); message WM_LBUTTONDOWN; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.WMLButtonDown(var msg: TMsg); begin SetCursor(LoadCursor(0, IDC_SIZEALL)); SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, msg.lParam); end; end. |
Re: Breite der Titelleiste ändern
Danke, teste ich gleich mal...
MFG Alex |
Re: Breite der Titelleiste ändern
Warum nutzt ihr nicht die dafür von Windows extra vorgesehene Message WM_NCHITTEST? Diese sendet Windows doch extra um zu ermitteln, auf was der Nutzer geklickt hat. Warum werden immer wieder Lösungen gepostet (ob nun SC_XXX oder diese hier) welche ein schon angefangenes (richtiges) Windows Verhalten nachträglich umzubauen. Windows wird es auch wirklich nicht einfach gemacht und dann wird gemeckert wenn diese "Hacks" irgendwann nicht mehr funktionieren. Geht den offiziellen Weg:
![]() |
Re: Breite der Titelleiste ändern
In der Code- Library gibt es ansonsten noch was
![]() |
Re: Breite der Titelleiste ändern
Ich kannte bisher nur diese Lösung.
|
Re: Breite der Titelleiste ändern
Warum der Code aus der Code- Library ist doch von dir.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:07 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 by Thomas Breitkreuz