设置Form的KeyPreview := true;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = vk_return then Postmessage(handle,WM_KEYDOWN,VK_TAB,0); end;
to BCB_FANS(四大名捕之追杀令): 你大概不是用DELPHI的吧. Form2 是你设计室的Form吧. 你的代码我改成DELPHI中,仍然正常. var Form2:TForm2; begin Form2:=TForm2.Create(nil); ; windows.SetParent(Form2.Handle,Panel1.Handle); Form2.Align:=alClient; Form2.Show(); end;
不行回复或QQ19680471
var
frm:TForm;
begin
frm:=TForm.Create(nil);
frm.Show;
end;
就可以了!
myform.Parent :=nil;也可,即如下:
myform:=Tform.create(mainform);
myform.parent:=nil;
myform.show;
我的要求是要以一个panel为父。要是没有父,我也不会来这里问了,
Form2.ShowModal;Show 和 ShowModal的问题,我不明白是不是我理解不正确。如果认为我说的不对,请把问题说清楚,发消息给我。
procedure TForm1.CreFormClick(Sender: TObject);
var
mForm : TForm;
begin
mForm := TForm.Create(self);
mForm.Position := poScreenCenter;
mForm.Show;
end;
如果我的客户区不在ScreenCenter呢?
如果我的客户区不在ScreenCenter呢?
Edit上输入数据,但Form2的标题栏仍然是灰色的,不知道这样是否达到了你的要求?
再说,这类问题不于看看MSDN的开发文档
真的非常谢谢你,每次都是你在帮我解释,他们总是不看要求就灌,
现在的主要问题是:Form2 上面的控件能输入数据,但标题栏仍然是灰色的,而且不能触发OnActive事件。
我要是E文很好早就去看MSDN去了,
Shift: TShiftState);
begin
if Key = vk_return then
Postmessage(handle,WM_KEYDOWN,VK_TAB,0);
end;
myform:=Tform.create(mainform);
myform.parent:=mainform;
myform.show;
BringWindowToTop(MyForm.handle);结帖吧!
myform:=Tform.create(nil);
//myform.parent:=form1;
Windows.SetParent(myform.Handle,form1.Handle);//这样应该达到你的目的.
myform.show;end;
myform:=Tform.create(nil);
//myform.parent:=form1;
Windows.SetParent(myform.Handle,form1.Handle);
myform.show;end;
请学学:BCB_FANS(四大名捕之追杀令) 好吧,看清要求:
myform.parent:=mainform.panel2;
谢谢!
myform中的控件本来就可以输入,但是输入不灵活,好像有很多消息都丢失了,而且myform不能触发:OnActive事件,
myform:=Tform.create(nil);
//myform.parent:=form1;
Windows.SetParent(myform.Handle,form1.Handle);//我拭过了,myform绝对能得到焦点,且能达到你的目的.
myform.show;end;
我要 myform 他老爸是一个panel! 你还不明白啊?
我要 myform 他老爸是一个panel! 你还不明白啊?
你说的非常正确,但怎么解决这个矛盾呢?
varmyform:Tform;begin
myform:=Tform.create(nil);
//myform.parent:=form1;
Windows.SetParent(myform.Handle,Panel1.Handle);//我拭过了,myform绝对能得到焦点,且能达到你的目的.
myform.show;end;
方法不错,又学到东西了
2、Form2->Align属性失效,.我刚刚试过,情况属实:-)
2.myForm->Align属性也没有失效.不知你是怎么试的?
2.myForm->Align属性也没有失效.不知你是怎么试的?
2.myForm->Align属性也没有失效.不知你是怎么试的?
::SetParent(Form2->Handle,Panel1->Handle);
Form2->Align=alClient;
Form2->Show();
你大概不是用DELPHI的吧.
Form2 是你设计室的Form吧.
你的代码我改成DELPHI中,仍然正常.
var
Form2:TForm2;
begin
Form2:=TForm2.Create(nil); ;
windows.SetParent(Form2.Handle,Panel1.Handle);
Form2.Align:=alClient;
Form2.Show();
end;
你用下面的代码试试.
Form2=new TForm(this);
::SetParent(Form2->Handle,Panel1->Handle);
Form2->Align=alClient;
Form2->Show();
我告诉你这不可能,panel不能得到焦点!!!!!!!!!!!!
高人!真的解决了,效果很少,到少目前未见问题,结贴了!
我想请问一下,这是为什么呢?为什么直接设它的父不行,Windows.SetParent()这个函数做了什么处理就可以了呢?希望你能回答,大家也想知道吧?
还有非常感谢大家对这个问题的关心,特别是 四大名捕 的热心参与,
正是你们造就了 Delphi 版的繁荣。
谢谢!