在GOPaint的設(shè)計研究過程中,我一直希望能夠?qū)崿F(xiàn)這樣的結(jié)果(A B C 3個步驟)

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

在我之前的博客里面,曾經(jīng)有過縮略圖顯示的現(xiàn)就(http://www.cnblogs.com/jsxyhelu/p/5493329.html   ),也應(yīng)用到了實際的項目中。但是現(xiàn)在過了一段時間后回頭再看,當(dāng)時的實現(xiàn)放吧是粗糙的?;贛FC已經(jīng)提供的基礎(chǔ)庫,通過c++自己的重載機(jī)制,應(yīng)該能夠得到精巧的實現(xiàn),但是肯定需要去重寫一些東西。

為了解決問題,達(dá)到效果,進(jìn)行了一些研究。 

一、CMFCShellList和CMFCShellTree基本結(jié)合;

這兩個控件是新出現(xiàn)的,使用起來比較簡單。

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

 平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

DIalog的方便之處就在于“所見及所得”,這里綁定控件變量。

在initdialog中添加兩句,就能得到效果

    m_ctrlShellList.ModifyStyle(LVS_TYPEMASK, LVS_ICON);
    m_ctrlShellTree.SetRelatedList(&m_ctrlShellList);

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

Tree的結(jié)果和List的結(jié)果是級聯(lián)的。但是顯示不了縮略圖,只能夠顯示圖標(biāo)。

二、對CMFCShellList和CMFCShellTree的繼承和研究;

如果要更好地使用這兩個類,必須首先繼承之后使用,在這個過程中,我才能夠重寫函數(shù)和事件:

在原始的mfcshelllistctrl控件中,如果雙擊其中的文件(圖片)的話,是采用默認(rèn)的打開程序打開文件(圖片),那么我要把這個修改成使用我自己的程序來打開圖片,所以首先就需要進(jìn)行CMFCShellListCtrl的重載

#pragma once
#include "afxshelllistctrl.h"
class CGOShellListCtrl :
    public CMFCShellListCtrl
{
public:
    CGOShellListCtrl(void);
    ~CGOShellListCtrl(

網(wǎng)友評論