分数用完了,只好重新申请个名字,请问一个小问题,MDI中当主窗口创建一个子窗口的时候,如何给子窗口类中自定义的一个数据赋值? Child.filepath:=Name; //将打开的文件名赋予打开的子窗口,因为后面经常要用Child := TMDIChild.Create(Application); 还没建立就赋值怎么能对呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Child.filepath:=Name; 应该在Create后吧!? 事实上我连 self.Capition也出不来,太奇怪了 我是在Loaded下面showmessage(self.filepath);showmessage(self.Captition); 谁知道?怎么现在 CSDN多了那么多规矩,连自己回帖都不能大于三次 1、先Create,再赋值。2、Loaded下面当然出不来,在onshow的地方显示就可以了。 Loaded不出来那怎么办啊,我的DBGird还要根据它来显示数据库呢再说我在ChildForm添加个按钮,结果按钮按下时候我也得不到 我觉得 首先应该 把 filepath 写成 child 的属性, 按钮是怎么回事啊?? 我用的没有问题啊!我是在 Child := TMDIChild.Create(Application);之后使用Child.filepath:=Name; //将打开的文件名赋予打开的子窗口,因为后面经常要用的,然后在childwin的click事件里showmessage(self.filepath);的。 filepath 写成 child 的属性是什么意思?我的filepath是string //我试过没有问题interfaceuses Windows, Classes, Graphics, dialogs,Forms, Controls, StdCtrls, ExtCtrls;type TMDIChild = class(TForm) Memo1: TMemo; Panel1: TPanel; Button1: TButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button1Click(Sender: TObject); private { Private declarations } public filepath:String; end;implementation{$R *.DFM}procedure TMDIChild.FormClose(Sender: TObject; var Action: TCloseAction);begin Action := caFree;end;procedure TMDIChild.Button1Click(Sender: TObject);beginshowmessage(self.filepath);end;end.unit Main;interfaceuses Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus, StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns, ActnList, ToolWin, ImgList;type TMainForm = class(TForm) MainMenu1: TMainMenu; File1: TMenuItem; FileNewItem: TMenuItem; FileOpenItem: TMenuItem; FileCloseItem: TMenuItem; Window1: TMenuItem; Help1: TMenuItem; N1: TMenuItem; FileExitItem: TMenuItem; WindowCascadeItem: TMenuItem; WindowTileItem: TMenuItem; WindowArrangeItem: TMenuItem; HelpAboutItem: TMenuItem; OpenDialog: TOpenDialog; FileSaveItem: TMenuItem; FileSaveAsItem: TMenuItem; Edit1: TMenuItem; CutItem: TMenuItem; CopyItem: TMenuItem; PasteItem: TMenuItem; WindowMinimizeItem: TMenuItem; StatusBar: TStatusBar; ActionList1: TActionList; EditCut1: TEditCut; EditCopy1: TEditCopy; EditPaste1: TEditPaste; FileNew1: TAction; FileSave1: TAction; FileExit1: TAction; FileOpen1: TAction; FileSaveAs1: TAction; WindowCascade1: TWindowCascade; WindowTileHorizontal1: TWindowTileHorizontal; WindowArrangeAll1: TWindowArrange; WindowMinimizeAll1: TWindowMinimizeAll; HelpAbout1: TAction; FileClose1: TWindowClose; WindowTileVertical1: TWindowTileVertical; WindowTileItem2: TMenuItem; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton9: TToolButton; ToolButton7: TToolButton; ToolButton8: TToolButton; ToolButton10: TToolButton; ToolButton11: TToolButton; ImageList1: TImageList; procedure FileNew1Execute(Sender: TObject); procedure FileOpen1Execute(Sender: TObject); procedure HelpAbout1Execute(Sender: TObject); procedure FileExit1Execute(Sender: TObject); private { Private declarations } procedure CreateMDIChild(const Name: string); public { Public declarations } end;var MainForm: TMainForm;implementation{$R *.DFM}uses ChildWin, About;procedure TMainForm.CreateMDIChild(const Name: string);var Child: TMDIChild;begin { create a new MDI child window } Child := TMDIChild.Create(Application); Child.Caption := Name; Child.filepath:=name; if FileExists(Name) then Child.Memo1.Lines.LoadFromFile(Name);end;procedure TMainForm.FileNew1Execute(Sender: TObject);begin CreateMDIChild('NONAME' + IntToStr(MDIChildCount + 1));end;procedure TMainForm.FileOpen1Execute(Sender: TObject);begin if OpenDialog.Execute then CreateMDIChild(OpenDialog.FileName);end;procedure TMainForm.HelpAbout1Execute(Sender: TObject);begin AboutBox.ShowModal;end;procedure TMainForm.FileExit1Execute(Sender: TObject);begin Close;end;end. 昆明delphi情况如何??? 一个关于DataSource的问题 indy + ADO问题 用过DevExpress控件集的进来说说---在线等待 高分为拙作征名,打算写一本DELPHI的书,想知道什么样的书名比较吸引人 帮忙找两本书的电子版或真实书籍,能在网上可以购买或下载的都可以 谁能告诉我如何修改这个DES加密单元的密匙长度? DCOM 调用 高手指教:为何删除或修改记录会出错? 哪有InstallShield Express For Delphi 5.0下载 关于Timage与TGraphic使用的问题 ERP系统中的可通用性模块
应该在Create后吧!?
太奇怪了
showmessage(self.filepath);
showmessage(self.Captition);
怎么现在 CSDN多了那么多规矩,连自己回帖都不能大于三次
2、Loaded下面当然出不来,在onshow的地方显示就可以了。
我的DBGird还要根据它来显示数据库呢
再说我在ChildForm添加个按钮,结果按钮按下时候我也得不到
按钮是怎么回事啊??
Child := TMDIChild.Create(Application);
之后使用
Child.filepath:=Name; //将打开的文件名赋予打开的子窗口,因为后面经常要用
的,然后在childwin的click事件里showmessage(self.filepath);
的。
我的filepath是string
interfaceuses Windows, Classes, Graphics, dialogs,Forms, Controls, StdCtrls, ExtCtrls;type
TMDIChild = class(TForm)
Memo1: TMemo;
Panel1: TPanel;
Button1: TButton; procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
filepath:String;
end;implementation{$R *.DFM}procedure TMDIChild.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;procedure TMDIChild.Button1Click(Sender: TObject);
begin
showmessage(self.filepath);
end;end.
unit Main;interfaceuses Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus,
StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns,
ActnList, ToolWin, ImgList;type
TMainForm = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
FileNewItem: TMenuItem;
FileOpenItem: TMenuItem;
FileCloseItem: TMenuItem;
Window1: TMenuItem;
Help1: TMenuItem;
N1: TMenuItem;
FileExitItem: TMenuItem;
WindowCascadeItem: TMenuItem;
WindowTileItem: TMenuItem;
WindowArrangeItem: TMenuItem;
HelpAboutItem: TMenuItem;
OpenDialog: TOpenDialog;
FileSaveItem: TMenuItem;
FileSaveAsItem: TMenuItem;
Edit1: TMenuItem;
CutItem: TMenuItem;
CopyItem: TMenuItem;
PasteItem: TMenuItem;
WindowMinimizeItem: TMenuItem;
StatusBar: TStatusBar;
ActionList1: TActionList;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
FileNew1: TAction;
FileSave1: TAction;
FileExit1: TAction;
FileOpen1: TAction;
FileSaveAs1: TAction;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowArrangeAll1: TWindowArrange;
WindowMinimizeAll1: TWindowMinimizeAll;
HelpAbout1: TAction;
FileClose1: TWindowClose;
WindowTileVertical1: TWindowTileVertical;
WindowTileItem2: TMenuItem;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton9: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ImageList1: TImageList;
procedure FileNew1Execute(Sender: TObject);
procedure FileOpen1Execute(Sender: TObject);
procedure HelpAbout1Execute(Sender: TObject);
procedure FileExit1Execute(Sender: TObject);
private
{ Private declarations }
procedure CreateMDIChild(const Name: string);
public
{ Public declarations }
end;var
MainForm: TMainForm;implementation{$R *.DFM}uses ChildWin, About;procedure TMainForm.CreateMDIChild(const Name: string);
var
Child: TMDIChild;
begin
{ create a new MDI child window }
Child := TMDIChild.Create(Application);
Child.Caption := Name;
Child.filepath:=name;
if FileExists(Name) then Child.Memo1.Lines.LoadFromFile(Name);
end;procedure TMainForm.FileNew1Execute(Sender: TObject);
begin
CreateMDIChild('NONAME' + IntToStr(MDIChildCount + 1));
end;procedure TMainForm.FileOpen1Execute(Sender: TObject);
begin
if OpenDialog.Execute then
CreateMDIChild(OpenDialog.FileName);
end;procedure TMainForm.HelpAbout1Execute(Sender: TObject);
begin
AboutBox.ShowModal;
end;procedure TMainForm.FileExit1Execute(Sender: TObject);
begin
Close;
end;end.