我做了一个Frame(名字是Charts),在里面放了一个ComboBox和两个Tchart控件。然后想实现当Frame被放置在Form中被调整大小时,Tchart控件也自动调整大小,以得的较好的视觉效果;结果发现在TCharts.FrameResize事件中无法使用Charts.望援手。部分代码如下:
unit UnitCharts;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, TeeProcs, TeEngine, Chart, StdCtrls;type
TCharts = class(TFrame)
ComboBoxChartsType: TComboBox;
ChartUp: TChart;
ChartDown: TChart;
procedure FrameResize(Sender: TObject);
procedure ComboBoxChartsTypeChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;implementation{$R *.dfm}procedure TCharts.FrameResize(Sender: TObject);
begin
ChartUp.Left:=6;
//ChartUp.Width:=Sender.InstanceSize()-12; ChartDown.Left:=6;
//ChartDown.Width:=Frame.Width-12;
end;procedure TCharts.ComboBoxChartsTypeChange(Sender: TObject);
begin
//Add code later
end;end.
unit UnitCharts;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, TeeProcs, TeEngine, Chart, StdCtrls;type
TCharts = class(TFrame)
ComboBoxChartsType: TComboBox;
ChartUp: TChart;
ChartDown: TChart;
procedure FrameResize(Sender: TObject);
procedure ComboBoxChartsTypeChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;implementation{$R *.dfm}procedure TCharts.FrameResize(Sender: TObject);
begin
ChartUp.Left:=6;
//ChartUp.Width:=Sender.InstanceSize()-12; ChartDown.Left:=6;
//ChartDown.Width:=Frame.Width-12;
end;procedure TCharts.ComboBoxChartsTypeChange(Sender: TObject);
begin
//Add code later
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货