View Full Version : Flytta en form utan ram...
Går det att flytta en form som inte har en ram?
------------------
/Trasher a.k.a Kristian
Söderholm
type
TForm1 = class(TForm)
private
{ Private declarations }
Procedure WMNCHitTest( Var msg: TWMNCHitTest );
message WM_NCHITTEST;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMNCHitTest(var Msg: TWMNCHitTest);
begin
inherited;
if Msg.Result = HTCLIENT then
Msg.Result := HTCAPTION;
end;
end.
Nu ska du kunna flytta formuläret utan att använda ramen.
Det funkar ju men det ända problemet
då är ju att formen's knappar och dylikt
blir oanvändbara...
Du vet inte hur man kan göra samma sak
fast bara med den översta delen av rutan?
------------------
/Trasher a.k.a Kristian
Söderholm
Använd t.e.x en panel som "översta del" och använd följande i panelens OnMouseDown event.
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
If Button = mbLeft then
begin
ReleaseCapture;
SendMessage(hwnd(self.Handle), WM_NCLBUTTONDOWN, HTCAPTION, 0);
end;
end;
Tackar...
Nu fungerar det mkt bra.
Fast jag gjorde det på bilden som
föreställer en mac ram.
------------------
/Trasher a.k.a Kristian
Söderholm
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.