一个问题,急 我自己做了一个无边框窗体,现在我想缩放这个窗体,就像正常的窗体一样,当很鼠标移动到边缘的的时候出现的那个行状 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我做了一个例子,不过只是实现了在点击上沿,鼠标向上拉动的时候窗体会增大,其他的没有做,希望对你有一些帮助,我使用的Form1.BorderStyle := bsNone不知道是不是和要求, 看完后多多指教unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}var bReSize: boolean;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var OriginTop, OriginLeft, OriginWidth, OriginHeight: integer;begin X := Mouse.CursorPos.x; Y := Mouse.CursorPos.Y; if bReSize then begin OriginTop := Form1.Top; OriginHeight := Form1.Height; Form1.Height := OriginHeight + OriginTop - Y; Form1.Top := Y; bReSize := False; end;end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin if Button=mbLeft then begin if Screen.Cursor <> crDefault then begin bReSize := True; end; end;end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin x := Mouse.CursorPos.x; y := Mouse.CursorPos.Y; if (Y=Form1.Top) or (Abs(Y-Form1.Top-Form1.Height)<3) then begin Screen.Cursor := crSizeNS; Exit; end; if (X=Form1.Left) or (Abs(X-Form1.Left-Form1.Width)<3) then begin Screen.Cursor := crSizeWE; Exit; end; if ((Y=Form1.Top) and (X=Form1.Left)) or ((Y=Form1.Top+Form1.Height) and (X=Form1.Left+Form1.Width)) then begin Screen.Cursor := crSizeNWSE; Exit; end; if ((Y=Form1.Top) and (X=Form1.Left+Form1.Width)) or ((Y=Form1.Top+Form1.Height) and (X=Form1.Left)) then begin Screen.Cursor := crSizeNESW; Exit; end; Screen.Cursor := crDefault;end;end. winsock 如何实现边下载边观看视频文件? 这样的功能如何做 如何实现自动增加值的字段! 这里有好多控件、源码下载 关于del键的问题 如何获取动态生成对象的地址? 在Win2000中,如何使用PlaySound播放声音资源。 Delphi编程,急!!!! 哪里有DELPHI的K线控件下载? TQuery控件的一个问题,请指教 斑竹帮帮忙 ............ADO 的 Eof & Bof 错误的问题!!!!!!!! 工作累了﹖沒有心情﹖來我里喝一杯吧
不知道是不是和要求, 看完后多多指教
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
var
bReSize: boolean;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
OriginTop, OriginLeft, OriginWidth, OriginHeight: integer;
begin
X := Mouse.CursorPos.x;
Y := Mouse.CursorPos.Y;
if bReSize then
begin
OriginTop := Form1.Top;
OriginHeight := Form1.Height;
Form1.Height := OriginHeight + OriginTop - Y;
Form1.Top := Y;
bReSize := False;
end;
end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
begin
if Screen.Cursor <> crDefault then
begin
bReSize := True;
end;
end;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
x := Mouse.CursorPos.x;
y := Mouse.CursorPos.Y;
if (Y=Form1.Top) or (Abs(Y-Form1.Top-Form1.Height)<3) then
begin
Screen.Cursor := crSizeNS;
Exit;
end; if (X=Form1.Left) or (Abs(X-Form1.Left-Form1.Width)<3) then
begin
Screen.Cursor := crSizeWE;
Exit;
end; if ((Y=Form1.Top) and (X=Form1.Left)) or
((Y=Form1.Top+Form1.Height) and (X=Form1.Left+Form1.Width)) then
begin
Screen.Cursor := crSizeNWSE;
Exit;
end; if ((Y=Form1.Top) and (X=Form1.Left+Form1.Width)) or
((Y=Form1.Top+Form1.Height) and (X=Form1.Left)) then
begin
Screen.Cursor := crSizeNESW;
Exit;
end; Screen.Cursor := crDefault;
end;end.