程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 自己動手制作一款簡潔實用的圖片浏覽器

自己動手制作一款簡潔實用的圖片浏覽器

編輯:關於C語言

 

 

    軟件DIY,說白了就是利用現有的類庫、組件,快速構造出自己的程序

出來。就象你找來各種電腦配件,然後把它們裝配成整機一樣;但也有不

一樣的地方,電腦配件即使是舊的二手配件,怎麼說也得花一點錢,而軟件

的類庫、組件,你有時侯可以免費得到。

 

想要DIY的,是一款簡潔實用的圖片浏覽器。眾所周知,ACDSee是最流行

的圖片浏覽器,確實很不錯。

 

DIY出了這麼一個圖片浏覽器,她簡潔實用,小巧玲珑,取名為:

SimpleBrowse。

 

第一步:定規格

 

1.樣子要象ACDSee一樣,左邊是目錄樹,右邊是文件列表,顯示圖片文件的縮圖。

 

2.縮圖要好看,浏覽速度要快,能浏覽的圖片格式要多。

 

3.簡潔實用,制作難度不要太大。

 

4.在Win98,WinNT下都能用。

 

第二步:選材料

 

由於界面主要分為兩大部分,即左邊的目錄樹和右邊的文件列表,故材料也就主

要是這兩大件。

 

1.左邊目錄樹

 

從http://www.codejockeys.com/kstowell/上,我們可以得到一個免費的MFC擴

展類庫CJ60Lib.dll,這個類庫包含有許多用於界面設計的類,其中有一個

CShellTree類,可以顯示和Windows Explorer左邊目錄樹一樣的效果,正好符

合我想要的,選定了它。

 

2.右邊文件列表

 

這是關鍵的部分,它要求能創建、顯示、管理圖片文件的縮圖,要求能浏覽多

種格式的圖片文件,要求有較精美的縮圖顯示效果和較快的浏覽速度,要求易

於使用難度不大。泰來影像科技有限公司在圖像處理應用軟件開發方面有較深

的造詣,推出了一個MFC擴展類庫thl.dll,其中有一個CThumbListCtrl類,正

是用來創建、顯示圖片縮圖用的,選定了它,從http://www.thalia.com.cn/上獲取之。

 

---- 第三步:生成程序框架

 

---- 象開發其他程序一樣,用VC++6.0 AppWizard生成程序框架。

 

---- 1.選菜單項File->New,到Projects面板,選取MFC AppWizard(exe),

Project name為SimpleBrowse。OK確定後,進入一個向導中,共有6步。

 

---- 2.Step 1,選single document,其它不動,用缺省值。

 

---- 3.Step 2 of 6,不動,用缺省值。

 

---- 4.Step 3 of 6,不動,用缺省值。

 

---- 5.Step 4 of 6,選Internet Explorer ReBars,其它不動,用缺省值。

 

---- 6.Step 5 of 6,選Windows Explorer,其它不動,用缺省值。

 

---- 7.Step 6 of 6,不動,用缺省值。Finish確定後,即生成程序框架。

 

---- 第四步:使用類庫、組件

 

---- 1.左邊的目錄樹對應的類是CLeftView,修改之。

 

class CLeftView : public CView/*CTreeView*/

{

...

// Attributes

public:

CShellTree m_TreeCtrl;// use shell tree control

...

// Generated message map functions

protected:

//{{AFX_MSG(CLeftView)

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

afx_msg void OnSize(UINT nType, int cx, int cy);

afx_msg void OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult);

afx_msg void OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult);

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

...

};

 

 

---- (1)將其父類由CTreeView改為CView,原因後述。

 

---- (2)加入CShellTree類的成員變量m_TreeCtrl,目錄樹的具體內容就是由它實現的。

 

---- (3)增加消息響應函數OnCreate(),在其中把m_TreeCtrl創建起

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved