日韩精品中文字幕一区二区-日韩精品中文字幕一区-日韩精品中文字幕视频-日韩精品在线一区二区三区-第一页在线-第一福利视频

當前位置:首頁文章首頁 IT學院 Delphi

一個簡單的MDI示范程序(Delphi)

作者:  來源:  發布時間:2012-1-8 17:57:33  點擊:
這段代碼首先打開一個“Open a Picture for Viewing”對話框,并得到一個文件名,如果點擊這個對話框的OK按鈕,就會產生一個TChild對象(TChild是MDI子類的名字,后面將要建立它。)圖像文件被顯示到窗體上的Image組件,并且MDI子窗口將會與圖像大小相匹配,最后子窗體的標題會顯示被選中的圖像文件名。

Note

在上面的方法中,ExtractFileName函數是用來從路徑中提取文件名的函數,文件名包含在OpenPictureDialog的FileName屬性中,相關的函數包括ExtractFilePath、ExtractFileDir、ExtractFileDrive和ExtractFileExt。

Note

前面我們說過所有動態創建的對象到最后都要用Free刪除掉,但是上面的代碼中好像違反了這個規律,實際上并沒有,因為VCL將負責釋放分配給MDI子窗口的內存。注意TChild構造程序中的單個參數是Self;這是通知VCL,MDI子窗體的擁有者就是此MDI窗體窗口。當MDI窗體消失時,它將刪除所有MDI子對象。

3、按下F12鍵,切換到主窗體MainForm,現在從菜單中選擇【File | Save As…】,將會顯示該菜單項處理事件。

4、鍵入以下代碼:

procedure TMainForm.SaveAs1Click(Sender: TObject); begin   if SavePictureDialog.Execute then   begin     with ActiveMDIChild as TChild do     { 檢查MDI子窗體是否被激活,只保存激活窗體的圖像文件}       Image.Picture.SaveToFile(SavePictureDialog.FileName);   end; end;

這段代碼比較簡潔,頭兩行是用來檢查MDI子窗口是否被激活,如果是激活的窗體,就會顯示“Save a Picture”對話框,若用戶點擊OK,那就將用TPicture類的SaveToFile方法把圖像存到盤上去。

Note

前面的這段代碼中用到了as操作符,ActiveMDIChild屬性返回一個指向TForm對象的指針,在這種情況下,實際上只需要一個指向TChild對象的指針(MDI子類是從TForm類派生來的),as操作符把ActiveMDIChild變量強制轉化為一個TChild指針,如果as不能完成這種強制轉化,as后面的語句將被忽略。

在繼續講解前,我們先把這個工程保存起來,將Unit1保存為PctViewU.pas,將工程文件dpr保存為PictView。

 

三、為【Windows】菜單編寫代碼

1、F12切換到MainForm窗體上,從窗體上MainMenu菜單上選擇【Windows | Tile】;

2、只需要為此事件處理程序中輸入一行代碼即可,最終的事件處理代碼如下:

procedure TMainForm.ile1Click(Sender: TObject); begin   Tile; end;

3、切換到MainForm窗體,并為菜單【Windows | Cascade】創建代碼,如下:

procedure TMainForm.Cascade1Click(Sender: TObject); begin   Cascade; end;

4、切換到MainForm窗體,再次為菜單【Windows | Arrange All】創建代碼如下:

procedure TMainForm.ArrangeAll1Click(Sender: TObject); begin   ArrangeIcons; end;

好,主窗體工作完成了,下面將進行創建MDI子窗體。

 

四、創建MDI子窗體

MDI子窗體非常簡單,實際上不必寫任何代碼,只要操作下列各步即可:

1、用工具欄上的New Form按鈕或者通過主菜單上的【File | New Form】來創建一個新窗體;

2、把它的Name屬性設置為Child,Caption屬性將被忽略,因為在運行階段將要動態設置此屬性;

image

3、把FormStyle屬性設置為fsMDIChild,為了把這個窗體當做MDI子窗體來處理,這是必須的。

image

為窗體本身要做的就這些,下面就在此窗體上放置一個Image組件,Image組件將顯示用戶選擇的圖形文件。

1、點擊組件選項板上的Additional標簽,點擊Image按鈕,并把它放置到Child窗體上;

image

2、把它的Name屬性設置為Image

image

3、把它的Stretch屬性設置為True

image

4、把它的Align屬性設置為alClient,Image組件將縮放到窗體的客戶區大小;

image

5、選擇Delphi主菜單的【File | Save】,以MDIChild保存此窗體單元。

6、切換到Code Editor,點擊PctViewU標簽,然后從Delphi主菜單選擇【File | Use Unit】,選擇MDIChild單元,點擊OK,這樣該工程就可以編譯了。

此時,整個MDI子窗體看上去如下:

0093

我們的程序還沒有完成,因為還差一個About框,此時我們更渴望看到程序的運行,先點擊Run按鈕,就可以運行程序了,選擇【File | Open…】就可以打開任何圖形文件了。

注意MDI子窗口會自動縮放它所包含的圖形,打開幾個文件,然后試一試Window菜單的Cascade和Tile選項。

 

五、建立About對話框

Tags:

MDI示范程序
首頁 上一頁 [1] [2] [3]  下一頁 尾頁
上一篇:Delphi使用ABC 下一篇:

相關軟件

相關文章

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
主站蜘蛛池模板: 无声无息电影| 第八种爱情演员表| 若月玛丽亚| 变形金刚1普通话版| 电影理发师| 我的江南id美人妈妈| 猛鬼差馆 电影| 破冰 电影| sandrarusso精品艳妇| 蓝燕3d电影《极乐宝鉴》在线观看| 金福南事件始末在线观看高清影评| 都市频道今日节目表| 70岁200题三力测试题库| 免费看黄直播| 职业兽医医生资格证报名官网| angelawhite在线av| 爱情买卖网站 电影| 肉丸3| 五年级下册第四单元语文园地课堂笔记| 风霜踩泥| 水儿武士电影完整免费观看 | 美国派7| 爱上特种兵电视剧免费观看完整版 | 杨子姗赵又廷演的电影叫什么| 回响电影| 两人生猴子免费观看完整版视频| 白色圣诞节| 高一英语单词表电子版| 《千年僵尸王》电影| 哥哥回来了 电影| fate动漫免费观看| 在线麻豆| 挤黑头痘痘视频| 袁隆平电影| 女同性恋视频网站| 我这一辈子电影| 98372电影| 吉泽明步电影| 欧美大片在线视频| 社会好全部歌词| 做菜的视频家常菜大全|