如何拖动整个窗体?

flyingmyself 2004-08-08 01:21:23
用消息欺骗可以实现拖动没有标准栏的窗体,但是如果我在这个窗体上加一幅图片,
如何实现?
...全文
119 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
martian6125 2004-08-09
  • 打赏
  • 举报
回复
声明全局变量 bool move; int old_x1,old_y1;
void __fastcall TForm1::LabelDateMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(Button==mbLeft)
{
old_y1=Y;
old_x1=X;
move=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::LabelDateMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
if(move)
{
Form1->Left+=X-old_x1;
Form1->Top+=Y-old_y1;
}
}
void __fastcall TForm1::LabelDateMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{ move=false;}

这段代码是拖动窗体上的LabelDate 使得整个窗体移动 你说的是这个意思么
martian6125 2004-08-09
  • 打赏
  • 举报
回复
怎么个拖动法呀 必须用消息来解决么 小弟还没研究过系统得消息 可是要拖动窗体话 应该有简单得方法吧 你说得窗体上有图片 那个图片有多大呀 是动态产生的?覆盖整个窗体么?你能说的具体一点么
flyingmyself 2004-08-09
  • 打赏
  • 举报
回复
大虾们?
求助
flyingmyself 2004-08-08
  • 打赏
  • 举报
回复
用消息呢?
如何字定义消息?
随便一个空间?
cyongcan 2004-08-08
  • 打赏
  • 举报
回复
//鼠标左键单击图片同事移动鼠标,窗体会同时随着鼠标移动
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
begin
windows.ReleaseCapture;
self.Perform(messages.WM_SYSCOMMAND,$f017,0);
end;
end;
flyingmyself 2004-08-08
  • 打赏
  • 举报
回复
不行的
newpowersky 2004-08-08
  • 打赏
  • 举报
回复
个人认为是一样的啊??

只要把消息移动处理放在那个图片上应该就可以了啊!!! (个人意见)
flyingmyself 2004-08-08
  • 打赏
  • 举报
回复
////???????

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧