Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 19:38
Moin phXql,

fang doch WM_NCHITTEST ab, und für den Fall, das jemand in die Titelleiste klickt wird zurückgegeben, dass es im Clientbereich war

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
  public
    procedure WMNCHITTEST(var msg : TMessage); message WM_NCHITTEST;
  end;

implementation

procedure TForm1.WMNCHITTEST(var msg: TMessage);
begin
  inherited;
  if msg.Result = HTCAPTION then msg.Result := HTCLIENT;
end;
PS:
Über das Systemmenü des Formulares geht es dann allerdings immer noch

Seltsamer Weise funktioniert

  EnableMenuItem(GetSystemMenu(self.Handle,false),SC_MOVE,MF_BYCOMMAND or MF_GRAYED); nämlich nicht. Mit SC_CLOSE ginge es
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat