我动态创建一个tabSheet,然后放一个WebBrowser在上面,设置了WebBrowser的align属性为alClient,为什么不会自动根据tabSheet的大小来自动改变大小?而我不是动态创建的tabSheet和WebBrowser则不会出现这样的问题,大家帮我看看?放一个PageControl在form上,让它align:=alClient;function TFormMain.CreatePage:boolean;
var
MyTabSheet:TTabSheet;
MyWebBrowser:TWebBrowser;
MyPanel:TPanel;
begin
Result:=true; //创建一个TabSheet;
MyTabSheet:=TTabSheet.Create(PageControl1);
MyTabSheet.PageControl := PageControlData;
MyTabSheet.Caption :='ttt'; //创建一个WebBrowser;
WebBrowser:=TWebBrowser.Create(MyTabSheet);
WebBrowser.ParentWindow :=MyTabSheet.Handle;
WebBrowser.SetBounds(0,0,MyTabSheet.Width ,MyTabSheet.Height);
WebBrowser.Navigate('http://www.sina.com.cn');
WebBrowser.Align := alClient;end;
var
MyTabSheet:TTabSheet;
MyWebBrowser:TWebBrowser;
MyPanel:TPanel;
begin
Result:=true; //创建一个TabSheet;
MyTabSheet:=TTabSheet.Create(PageControl1);
MyTabSheet.PageControl := PageControlData;
MyTabSheet.Caption :='ttt'; //创建一个WebBrowser;
WebBrowser:=TWebBrowser.Create(MyTabSheet);
WebBrowser.ParentWindow :=MyTabSheet.Handle;
WebBrowser.SetBounds(0,0,MyTabSheet.Width ,MyTabSheet.Height);
WebBrowser.Navigate('http://www.sina.com.cn');
WebBrowser.Align := alClient;end;
>>WebBrowser.ParentWindow :=MyTabSheet.Handle;
WebBrowser.Parent :=MyTabSheet;
其实是这句话有问题
WebBrowser.ParentWindow :=MyTabSheet.Handle;//只要用了,WebBrowser.Align := alClient;就没有用,其它的控件也是这样
--------------
你也不用设置WebBrowser.Align := alClient;,直接用
WebBrowser.SetBounds(0,0,MyTabSheet.Width,MyTabSheet.Height);
其实底层也是调用这个函数的
其他版本不清楚
不要用WebBrowser.ParentWindow :=MyTabSheet.Handle了。而用
tabsheet.InsertControl(webBrowser);就可以了。
奶奶个胸的,花了我几个小时。