我設計了一個 MDIForm,上面有一個工具欄,分別是[第一條紀錄].[前一條紀錄].[下一條紀錄].[最後一條紀錄].[添加].[保存].[搜索].[刪除]等按鈕,我想在 MDIForm 中的這些按鈕能實現文字描述的功能,例如,我有一個子窗口 Form1,在 Form1里有一個過程 SearchData,另外也有一個子窗口 Form2,它也有一個過程SearchData,我想通過點擊MDIForm的[搜索]能夠運行當前活動的子窗口的SearchData過程,我知道可以這樣實現:
if Sender.ClassName is Form1 then
Form1.SearchData
else if Sender.ClassName is Form2 then
Form2.SearchData;
.......
......
.....
請教高手大蝦們,有沒有更簡單的方法????
if Sender.ClassName is Form1 then
Form1.SearchData
else if Sender.ClassName is Form2 then
Form2.SearchData;
.......
......
.....
請教高手大蝦們,有沒有更簡單的方法????
解决方案 »
- 换币问题,急求算法,在线等!!!
- 请问fastreport3.0中怎么做才能使交叉表TfrxDBCrossView显示图片, 急急急。。。
- 关于com组件的动态调用
- 自写的设计期包,出了一个非常困扰的问题,请各位帮心!
- adoconnection如何处理并发操作?
- 帮帮我吧!!!
- SQL游标问题!
- 如何释放Timage的动态数组对象?
- 我用QReview显示我QuickRep的内容,我QuickRep的纸设置是A3的纸,怎么我的QReview有一部分没有显示出来?
- 怎么才能使我的分增得快,我天天在网上,无时间限制。分少了点,不过问题也。。
- EXCEL问题,大家帮忙看看,顺便散点分。(不好意思,前面按太快了才给分)
- 请各们大虾们,看看这条‘没错’的程序那里出错?
SearchData(Sender.ClassName)
可以放在MDIForm中,
判断时用:If Sender = Form1 then .....
else If Sender = Form2 then .......
搞定!!
public
procedure SearchData;Virtual;
end;
TForm1=Class(TMyform)
public
procedure SearchData;override;
end;TForm2=Class(TMyform)
public
procedure SearchData;override;
end;在主窗体的按钮事件中写 if Assigned(ActiveMDIChild) then
begin
TMyForm(ActiveMDIChild).SearchData;
end;------------------对象的多态性