Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   WndProc(var msg : TMessage);override; (https://www.delphipraxis.net/99091-wndproc-var-msg-tmessage-%3Boverride%3B.html)

SaFu 6. Sep 2007 17:20


WndProc(var msg : TMessage);override;
 
Hi

Hab diesen code in Code-Library gefunden der verhindert das Verschieben des Formblatt

Kann mann das jetzt irgenwie so schreiben das ich es von der Ersten Form auf die andere übertrage oder muss ich den Code auf jedes Formblatt schreiben?

Delphi-Quellcode:
procedure WndProc(var msg : TMessage);override;
 


Unter Implementation einfügen:


 procedure TForm2.WndProc(var msg : TMessage);
begin
  if msg.Msg = WM_NCLBUTTONDOWN then
  begin
    if msg.WParam <> HTCLOSE then
    begin
      exit;
    end;
  end;
  inherited WndProc(msg);
end;

SaFu 6. Sep 2007 17:57

Re: WndProc(var msg : TMessage);override;
 
Ok dann schreibe ich es auf jeder Form rein geht ja auch aber kann mir einer sagen woher ich diesen Hinweis bekomme, und wie er wieder weg geht.

[Hinweis] Unit2.pas(38): Durch das Überschreiben erhält die virtuelle Methode 'TForm2.WndProc' eine geringere Sichtbarkeit (private) als die Basisklasse 'TForm' (protected)

Apollonius 6. Sep 2007 18:05

Re: WndProc(var msg : TMessage);override;
 
Schreibe die Deklaration im Interface-Teil in den Protected-Teil des Formulars.

SaFu 6. Sep 2007 18:13

Re: WndProc(var msg : TMessage);override;
 
ja danke funktioniert

jbg 6. Sep 2007 18:30

Re: WndProc(var msg : TMessage);override;
 
Zitat:

Zitat von fuknersascha
Kann mann das jetzt irgenwie so schreiben das ich es von der Ersten Form auf die andere übertrage

Erstelle einfach eine eigene Form-Klasse, von der all deine Formulare erben:

Delphi-Quellcode:
unit MyForms;

interface

type
  TMyForm = class(TForm)
  protected
    procedure WndProc(var Msg: TMessage); override;
  end;

implementation

procedure TMyForm.WndProc(var Msg: TMessage);
begin
  ...
end;

end.
Delphi-Quellcode:
unit Form1;

interface

uses
  MyForms;

type
  TForm1 = class({=>}TMyForm{<=})
    ...
  private
  public
  end;

...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 Uhr.

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