E:\Visual_C__MFC擴(kuò)展編程實(shí)例 例18
動(dòng)態(tài)地抓取應(yīng)用程序的屏幕圖像并將其打印。
上一個(gè)實(shí)例打印的是文檔的報(bào)表,而不是當(dāng)前出現(xiàn)在屏幕上的內(nèi)容。在本例中,將實(shí)現(xiàn)
屏幕抓取并打印其內(nèi)容。M F C 為打印視提供了有限的支持, 但只要用M F C 在
C Vi e w : : O n D r a w ( )中所提供的設(shè)備環(huán)境,就可以繪制自己的視。在打印視的時(shí)候, M F C只需調(diào)
用具備打印機(jī)設(shè)備環(huán)境的O n D r a w ( )函數(shù)即可。但是,如果不繪制自己的視,例如,用一個(gè)或
者一個(gè)以上的控件窗口填充自己的視就不會(huì)打印任何東西。每個(gè)控件將使用自己的設(shè)備環(huán)境
將自己打印到屏幕,因此打印視的唯一途徑就是抓取屏幕(拷貝其內(nèi)容到一個(gè)位圖對(duì)象)并將其
打印到打印機(jī)。由于該功能整個(gè)與位圖相關(guān),因此將該功能封裝到了位圖類中。
php開(kāi)發(fā)的行業(yè)搜索系統(tǒng)?。?!
2. 安裝
------------
a. 解壓程序rar文件,用二進(jìn)制方式上傳到你的網(wǎng)站的根目錄或某一目錄下
注意:一定要將ftp上傳工具設(shè)置為二進(jìn)制方式,再上傳程序文件
b. unix或linux服務(wù)器下, 將以下文件屬性改為:666 (或777)
- function/base_info.php
- function/emphasis_info.php
- function/admin_pass_info.php
- function/search_info.php
- function/userfield_info.php
- template/default/目錄下的所有html文件
c. unix或linux服務(wù)器下, 將upfile/目錄屬性改為:777
d. 建立一個(gè)mysql數(shù)據(jù)庫(kù),并記下用戶名和密碼,以便安裝時(shí)使用
e. 進(jìn)入安裝目錄http://www.your_website.com/install/, 自動(dòng)運(yùn)行安裝程序
f. 安裝完成后,要求刪除安裝目錄install/及其下文件
g. 后臺(tái)管理目錄http://www.your_website.com/adiministrator/
h. 可修改adiministrator/目錄為你希望的獨(dú)特的名字
嘿嘿,大俠看到不要見(jiàn)笑呀...
大家都知道使用DLL的好處.于是我就想把FORM封裝到DLL里面去.
到網(wǎng)上找,發(fā)現(xiàn)是MDI和模式窗體的,非模式的也有很多問(wèn)題.便想自己解決這個(gè)問(wèn)題.
原來(lái)是用DLL創(chuàng)建一個(gè)對(duì)象返回,但發(fā)現(xiàn)有很多的問(wèn)題.
想了半天就去尋根問(wèn)柳吧.
找到了類.
我就想把類封裝進(jìn)DLL,到時(shí)簡(jiǎn)單的返回一個(gè)類,然后在主程序里操作不就簡(jiǎn)單了?
找了半天發(fā)現(xiàn)了TFormClass,于是試了試從DLL導(dǎo)出來(lái),像一般的程序一樣創(chuàng)建窗體發(fā)現(xiàn)成功.
接著我又想看看其他的類是不是也能這樣,就拿TFrame來(lái)實(shí)驗(yàn).
function GetDllFrameClass():TFrame stdcall
第一次是這樣聲明的,失敗.奇怪?!
試了好多次都不行,就想到了TFormClass(Ctrl+左鍵),進(jìn)去看看,發(fā)現(xiàn)是這樣聲明的.
TFormClass = class of TForm
哎呀,恍然大悟!!
class(TFrame) 是聲明一個(gè)類, 這個(gè)類繼承了TFrame類 f: TFrame 是一個(gè)對(duì)象
class of TFrame 聲明的是類類型, f:TFrameClass 是一個(gè)類.
function GetDllFrameClass():TFrame
返回就不是類而是對(duì)象了,照TFormClass修改后TFrameClass = class of TFrame
運(yùn)行...成功,