快速业务通道

C++ Builder中MDI应用程序的设计

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30
ick

全选 Selectall1Click

其他:靠左 Left1Click

靠右 Left1Click

居中 Left1Click

自动换行 Wordwrap1Click

字体 Font1Click

(9) 从Dialogs控件板选取对话框控件到ChildForm上,并设置其属性:

* SaveDialog

Name SaveFileDialog

单击Filter属性,弹出Filter Editor对话框,输入:

Rich Text Format(*.rtf) *.rtf

Text Files(*.txt) *.txt

All Files(*.*) *.*

* PrintDialog

Name PrintDialog1

* PrinterSetupDialog

Name PrinterSetupDialog1

* FontDialog

Name FontDialog1

(10) 然后从Win32控件板中选择RichEdit控件,放在ChildForm上,设置其属性:

Align alClient

Name doc

点击Lines属性,弹出String list editor,清空里面的内容。

(11) 最后,在程序中加入程序源代码。运行该程序,然后打开两个文档(该程序在C++ Builder 3.0和Windows 95下调试通过):

附源程序清单:

(这儿略去大部分系统自己加进去的程序代码部分):

//-------- MDIMain.cpp--------
#include "MDIMain.h"
#include "MDIChild.h"
__fastcall TFrameForm::TFrameForm(TComponent* Owner)
: TForm(Owner)
{ }
void __fastcall TFrameForm::Exit1Click(TObject *Sender)
{Close();//应用程序退出}
void __fastcall TFrameForm::Tile1Click(TObject *Sender)
{Tile();//窗口层叠}
void __fastcall TFrameForm::Cascade1Click(TObject *Sender)
{Cascade();//窗口平铺}
void __fastcall TFrameForm::Arrangeicons1Click(TObject *Sender)
{ ArrangeIcons();//排列图标}
//新建文档
void __fastcall TFrameForm::New1Click(TObject *Sender)
{ ChildForm = new TChildForm(this); }
//打开文件
void __fastcall TFrameForm::Open1Click(TObject *Sender)
{
if(OpenFileDialog->Execute()){
ChildForm=new TChildForm(this);
ChildForm->Open(OpenFileDialog->FileName);
}
}
//----------MDIChild.cpp-------------
#include "MDIChild.h"
#include "MDIFrame.h"
TChildForm *ChildForm;
//定义缺省文件名为Untitled
const AnsiString DefaultFileName = AnsiString("Untitled");
__fastcall TChildForm::TChildForm(TComponent* Owner)
: TForm(Owner)
{ }
//文件打开函数
void __fastcall TChildForm::Open(const AnsiString AFileName)
{
PathName = AFileName;
Caption = ExtractFileName(AFileName);
doc->Lines->LoadFromFile(PathName);
doc->SelStart = 0;
doc->Modified = false;
}
void __fastcall TChildForm::New1Click(TObject *Sender)
{ FrameForm->New1Click(Sender); //新建文件}
void __fastcall TChildForm::Open1Click(TObject *Sender)
{ FrameForm->Open1Click(Sender);//打开文件 }
void __fastcall TChildForm::Close1Click(TObject *Sender)
{ Close();//关闭打开的文件}
void __fastcall TChildForm::Exit1Click(TObject *Sender)
{ FrameForm->Exit1Click(Sender);//退出应用程序 }
//保存打开或创建的文档
void __fastcall TChildForm::Save1Click(TObject *Sender)
{
if(Caption == DefaultFileName){
Saveas1Click(Sender);
}
else{
doc->Lines->SaveToFile(PathName);
doc->Modified = false;
} }
//另存打开或创建的文档
void __fastcall TChildForm::Saveas1Click(TObject *Sender)
{
SaveFileDialog->FileName = PathName;
if (SaveFileDialog->Execute() ){
PathName= SaveFileDialog->FileName;
Caption = ExtractFileName(PathName);
Save1Click(Sender);
} }
//文档打印
void __fastcall TChildForm::Print1Click(TObject *Sender)
{
if (PrintDialog1->Execute()){

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号