给Form设置Parent后,窗体接收消息的问题(200分)

  • 主题发起人 主题发起人 Milpas
  • 开始时间 开始时间
M

Milpas

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序需要这样做:
Form2.Parent := Form1;

但是之后有两问题:
1。标题栏变灰色了,我想要Windows默认的那个蓝色
2。它不再响应键盘事件

我猜可能是有关消息没有传到它上面,不知道如何解决?
 
你为什么要这样做?
其实这样和放一个Panel在窗体上基本没差别。。
 
当然有区别
Panel能当Form用么?
 
不知道你这样做实现什么功能,可以说出来用别的方法解决.[?]
 
为什么这样做呢。你重做一个Form好了。
 
Form2.Parent := Form1;

改为

::SetParent(Form2->Handle,Form1->Handle);

包你管用!!!!!!!
 
管用个屁,你根本没明白我这两句话的意思

但是之后有两问题:
1。标题栏变灰色了,我想要Windows默认的那个蓝色
2。它不再响应键盘事件
 
Windows.SetParent(form2.Handle,form1.Handle);
 
lienzhu:
你就别来气我了,不是SetParent不成功,是有两个问题,你他妈的有没有看我的题目???
 
不同你的setpatent,试一下再说!
 
To: Milpas

我操!!!!!!!!你他妈的变态!!!!!!!!!!!

你试过了我的代码吗?????????下面代码在我这里运行好好的,没有你说的情况。
要不要我给你发EXE文件啊???

TForm2 *F = new TForm2(NULL);
F->Show();
::SetParent(F->Handle,this->Handle);
 
人家好心帮你,你还骂人家,你到底是不是人啊?????????
 
回答你的问题怎烦,满嘴脏话,我这里有delphi源代码,如果把你的脏话删除掉,我就发送过去!
 
文明一点也!!
 
行个屁,把 Windows.SetParent(form2.Handle,form1.Handle);
放在TForm1.FormActivate(Sender: TObject);
里Form根本就被搞残了,大小变不了,关闭也没响应

放在TForm1.Button1Click(Sender: TObject);里根本就不见了
有何用????

浪费时间
 
1、放在在FormActivate里边的确不行。可是为什么一定要放在FormActivate里边???
放在FormCreate和FormShow里边不行吗?如果你有特殊需求,那请把你的需求说得更清楚一些!

2、“根本就不见了”,为什么我这里又看得见!!!!!估计你没有设置好坐标???
 
用你自己给的一点代码,改为
procedure TForm1.Button1Click(Sender: TObject);
var f:tform;
begin
f:=tform2.Create(nil);
f.Show;
windows.SetParent(f.Handle,handle);
end;
如果不行,可以再说,但不许说粗话
 
能不能让Form1和Form2和标题栏都是蓝色的?(不变灰)
 
那你为什么不采用MDI窗体
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
327
import
I
后退
顶部