📄 20010720001.htm
字号:
void __fastcall TChildForm::Open(const AnsiString AFileName)<br>
{<br>
PathName = AFileName;<br>
Caption = ExtractFileName(AFileName);<br>
doc->Lines->LoadFromFile(PathName);<br>
doc->SelStart = 0;<br>
doc->Modified = false;<br>
}<br>
void __fastcall TChildForm::New1Click(TObject *Sender)<br>
{ FrameForm->New1Click(Sender); //新建文件}<br>
void __fastcall TChildForm::Open1Click(TObject *Sender)<br>
{ FrameForm->Open1Click(Sender);//打开文件 }<br>
void __fastcall TChildForm::Close1Click(TObject *Sender)<br>
{ Close();//关闭打开的文件}<br>
void __fastcall TChildForm::Exit1Click(TObject *Sender)<br>
{ FrameForm->Exit1Click(Sender);//退出应用程序 }<br>
//保存打开或创建的文档<br>
void __fastcall TChildForm::Save1Click(TObject *Sender)<br>
{<br>
if(Caption == DefaultFileName){<br>
Saveas1Click(Sender);<br>
}<br>
else{<br>
doc->Lines->SaveToFile(PathName);<br>
doc->Modified = false;<br>
} }<br>
//另存打开或创建的文档<br>
void __fastcall TChildForm::Saveas1Click(TObject *Sender)<br>
{<br>
SaveFileDialog->FileName = PathName;<br>
if (SaveFileDialog->Execute() ){<br>
PathName= SaveFileDialog->FileName;<br>
Caption = ExtractFileName(PathName);<br>
Save1Click(Sender);<br>
} }<br>
//文档打印<br>
void __fastcall TChildForm::Print1Click(TObject *Sender)<br>
{<br>
if (PrintDialog1->Execute()){<br>
try {<br>
doc->Print(PathName);<br>
}<br>
catch(...){<br>
Printer()->EndDoc();<br>
throw;<br>
} } }<br>
void __fastcall TChildForm::Printersetup1Click(TObject *Sender)<br>
{ PrinterSetupDialog1->Execute();//打开打印机设置对话框进行打印机设置}<br>
void __fastcall TChildForm::Cut1Click(TObject *Sender)<br>
{doc->CutToClipboard();//文档剪切到剪贴板}<br>
void __fastcall TChildForm::Copy1Click(TObject *Sender)<br>
{ doc->CopyToClipboard();//文档拷贝到剪贴板}<br>
void __fastcall TChildForm::Paste1Click(TObject *Sender)<br>
{ doc->PasteFromClipboard();//从剪贴板粘贴文档}<br>
void __fastcall TChildForm::Delete1Click(TObject *Sender)<br>
{ doc->ClearSelection();//删除选中的文档}<br>
void __fastcall TChildForm::Selectall1Click(TObject *Sender)<br>
{ doc->SelectAll();//文档全选}<br>
//文档向左、向右、居中等各种对齐方式响应函数<br>
void __fastcall TChildForm::Left1Click(TObject *Sender)<br>
{<br>
Left1->Checked = false;<br>
Right1->Checked = false;<br>
Center1->Checked = false;<br>
if( dynamic_cast<TMenuItem *>(Sender) !=0)<br>
dynamic_cast <TMenuItem *>(Sender) ->Checked = true;<br>
{<br>
if (Left1->Checked )<br>
doc->Paragraph->Alignment = taLeftJustify;<br>
else if (Right1->Checked)<br>
doc->Paragraph->Alignment= taRightJustify;<br>
else if (Center1->Checked)<br>
doc->Paragraph->Alignment = taCenter;<br>
} }<br>
//文档自动换行<br>
void __fastcall TChildForm::Wordwrap1Click(TObject *Sender)<br>
{<br>
doc->WordWrap = !doc->WordWrap; //toggle word wrapping<br>
if (doc->WordWrap)<br>
doc->ScrollBars = ssVertical;<br>
else<br>
doc->ScrollBars = ssBoth;<br>
Wordwrap1->Checked = doc->WordWrap; // set menu item check<br>
}<br>
//设置选中文档的字体<br>
void __fastcall TChildForm::Font1Click(TObject *Sender)<br>
{FontDialog1->Font= doc->Font;<br>
if (FontDialog1->Execute())<br>
doc->SelAttributes->Assign(FontDialog1->Font);<br>
}<br>
//子窗口鼠标单击响应函数<br>
void __fastcall TChildForm::FormClick(TObject *Sender)<br>
{<br>
bool HasSelection;<br>
Paste1->Enabled = Clipboard()->HasFormat(CF_TEXT);<br>
HasSelection = doc->SelLength > 0;<br>
Cut1->Enabled = HasSelection;<br>
Copy1->Enabled = HasSelection;<br>
Delete1->Enabled = HasSelection;<br>
}<br>
//子窗口关闭时事件响应<br>
void __fastcall TChildForm::FormClose(TObject *Sender, TCloseAction
&Action)<br>
{Action=caFree; }<br>
//子窗口关闭时询问事件响应<br>
void __fastcall TChildForm::FormCloseQuery(TObject *Sender,<br>
bool &CanClose)<br>
{<br>
if (doc->Modified)<br>
{<br>
TMsgDlgButtons temp_set;<br>
temp_set<< mbYes<<mbNo <<mbCancel;<br>
String buffer = "Save changes to " + PathName;<br>
switch(MessageDlg(buffer, mtConfirmation,temp_set,0))<br>
{<br>
case mrYes:<br>
Save1Click(this);<br>
break;<br>
case mrCancel:<br>
CanClose=false;<br>
break;<br>
} }}<br>
void __fastcall TChildForm::FormCreate(TObject *Sender)<br>
{ PathName = DefaultFileName; }<br>
<br>
//---------MDIChild.h------------<br>
class TChildForm : public TForm<br>
{<br>
private: // User declarations<br>
AnsiString PathName;//文档文件和路径名定义<br>
public: // User declarations<br>
void __fastcall Open(const AnsiString AFileName);//文档打开函数声明<br>
virtual __fastcall TChildForm(TComponent* Owner);<br>
};<br>
另外,你自己也可以根据上述开发思路来开发出各种各样的MDI程序,比如,你可以在文档中利用OLE加入图片,声音等多媒体因素,使你的文档更加丰富多彩!<br>
<br>
(全文完)<br>
<br>
<br>
作者通信地址:<br>
<br>
西安电子科技大学295信箱 邮编:710071<br>
李明柱<br>
电话:(029)8207394(宿舍),(029)8201284(实验室)<br>
<br>
email: <a
href="mailto:mzli@263.net">mzli@263.net</a></p>
</td>
</tr>
</table>
</div>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -