同意用图片的方法下面给出用鼠标拖动的代码 procedure TfrMain.TitleMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if Shift=[ssLeft] then begin ReleaseCapture; SendMessage(handle,WM_NCLBUTTONDOWN,HTCAPTION,0); end; end;
我这里有一个简单例子原理跟 rouqing(*柔情似水&冷酷到底*) 和楼上的这不多你如果很急 我可以把memo源代码发给你 要的话留下e mail
FlatStyle Vcl里有个Flattitlebar组件
.....慢慢写,不过也不能完全实现改变的目的
或者就是WndProc动态添加button到title上边
其实就是使用图片伪装成title了
procedure TfrMain.TitleMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Shift=[ssLeft] then
begin
ReleaseCapture;
SendMessage(handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
end;
end;
拖动
procedure TMyMessage.MouseMoveForm(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const SC_DRAGMOVE:Longint=$F012; //试着改变这个值看看,有其他效果
begin
ReleaseCapture;
SendMessage(Handle,WM_SYSCOMMAND,SC_DRAGMOVE,0);
end;