was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews
 sonstiges ¦  tutorials ¦  Add&Win Gewinnspiel

Tips (1547)

Dateien (137)
Datenbanken (90)
Drucken (35)
Grafik (115)
IDE (21)
Indy (5)
Internet / LAN (131)
IntraWeb (0)
Mathematik (76)
Multimedia (45)
Oberfläche (107)
Objekte/
ActiveX (51)

OpenTools API (3)
Sonstiges (127)
Strings (83)
System (268)
VCL (243)

Tips sortiert nach
Komponente


Tip suchen

Tip hinzufügen

Add&Win Gewinnspiel

Werbung

49 Visitors Online


 
...einschränken, dass das Formular nur auf dem Arbeitsplatz bewegt werden kann?
Autor: binary[lv]
Homepage: http://lovelysoft.sytes.net/
[ Tip ausdrucken ]  

Tip Bewertung (8):  
     


{ .... }

type
  
TForm1 = class(TForm)
  private
  protected
    procedure 
WMMoving(var Message: TWMMoving); message WM_MOVING;
  public
  end
;

{ .... }

procedure TForm1.WMMoving(var Message: TWMMoving);
var
  
rec: ^TRect;
  wrk: TRect;
begin
  
SystemParametersInfo(spi_getworkarea, 0, @wrk, 0);
  rec := Pointer(Message.DragRect);
  if rec^.Left < wrk.Left then
  begin
    
rec^.Right := rec^.Right - (rec^.Left - wrk.Left);
    rec^.Left  := wrk.Left;
  end
  else if 
rec^.Right > wrk.Right then
  begin
    
rec^.Left  := rec^.Left - (rec^.Right - wrk.Right);
    rec^.Right := wrk.Right;
  end;
  if rec^.Top < wrk.Top then
  begin
    
rec^.Bottom := rec^.Bottom - (rec^.Top - wrk.Top);
    rec^.Top    := wrk.Top;
  end
  else if 
rec^.Bottom > wrk.Bottom then
  begin
    
rec^.Top    := rec^.Top - (rec^.Bottom - wrk.Bottom);
    rec^.Bottom := wrk.Bottom;
  end;
end;


 

Bewerten Sie diesen Tipp:

dürftig
ausgezeichnet


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners