菜鸟求救,怎么让托动Form1时Form2也跟着托动?

smartrich 2002-05-26 05:35:21
托动Form1的标题栏,托动的同时Form2的位置也随之改变,如何实现?
还有怎么让一个窗口成为当前的激活窗口?
比如一个程序运行10秒后Form自动变成激活窗口,并在出现在所有窗口的最顶端。
...全文
26 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxpbuaa 2002-05-26
  • 打赏
  • 举报
回复
在1中,如果不需要Form2改变显示层次,可以在SetWindowPos的最后一个参数上再加上 SWP_NOOWNERZORDER

—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————


lxpbuaa 2002-05-26
  • 打赏
  • 举报
回复
2、
SetWindowPos(Form2.Handle,HWND_TOP,0,0,0,0,SWP_NOOWNERZORDER+SWP_NOSIZE+SWP_SHOWWINDOW);

—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————


lxpbuaa 2002-05-26
  • 打赏
  • 举报
回复
1、托动Form1的标题栏,托动的同时Form2的位置也随之改变,如何实现?
procedure FormMove(var msg: TWMMOVE);message WM_MOVE;

procedure TForm1.FormMove(var msg: TWMMOVE);
begin
if Assigned(Form2) then
0A SetWindowPos(Form2.Handle,HWND_TOP,Self.Left,Self.Top,0,0,SWP_NOOWNERZORDER+SWP_NOSIZE);
end;

—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————


5,388

社区成员

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

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