在class cchildframe : public cmdichildwnd下新增變數
protected:
csplitterwnd m_wndsplitter; //分割線
新建兩個基於cview的類cvalueview,cvarityview
新增oncreateclient函式
bool cchildframe::oncreateclient(lpcreatestruct lpcs, ccreatecontext* pcontext)
好了視窗分割完成
現在在cvalueview中繪製座標軸和網格
新增變數和宣告函式
protected:
void drawgrid(cdc *dcmem); //畫網格
void drawcoordinate(cdc *dcmem); //畫座標
private:
crect m_rect; //儲存客戶區域
void cvalueview::oninitialupdate()
//繪製座標系統
void cvalueview::drawcoordinate(cdc *dcmem)
dcmem->moveto(30, i);
dcmem->lineto(m_rect.width(), i);
}*///最頂部橫線
/* dcmem->moveto(30, 10);
dcmem->lineto(m_rect.width(), 10);
//最底部橫線
dcmem->moveto(30, m_rect.height()-20);
dcmem->lineto(m_rect.width(), m_rect.height()-20);*/
for (i = 10; i < (uint)m_rect.height()-30; i += (m_rect.height()-30)/10) //水平線
*/dcmem->moveto(30, i);
dcmem->lineto(m_rect.width()-5, i);
//最底部橫線不在迴圈內
dcmem->moveto(30, m_rect.height()-20);
dcmem->lineto(m_rect.width()-5, m_rect.height()-20);
}//垂直線
for (i = m_rect.width()-5; i > 100; i -= 100) //vertical
dcmem->selectobject(poldpen);
void cvalueview::onsize(uint ntype, int cx, int cy)
void cvalueview::ondraw(cdc* pdc)
bool cvalueview::onerasebkgnd(cdc* pdc)
最後的效果圖:
MFC單文件分割視窗
建立單文件程式 新建兩個對話方塊,用於分割視窗,對話方塊的style屬性改為child,border屬性改為none,最開始沒有改這個,程式執行的時候報錯了。將兩個對話方塊生成從cformview派生的類。在cmainframe中新增兩個成員變數,型別為csplitterwnd,如下所示 cspli...
單文件mfc視窗分割
說明 第一次發表部落格,全當為自己學習做個記錄,將自己的學習新東西和bug整理記錄,方便自己日後的學習。內容有借鑑別人的地方,結尾均附上別人的鏈結。1 新建單文件專案,生成如下幾個類 2 在mainfrm。h檔案中新增如下 csplitterwnd m splitwnd1 csplitterwnd ...
MFC 多文件 分隔視窗
網上的很多 和部落格都是單文件的分隔視窗。我這裡是多文件下分隔視窗的 bool cchildframe oncreateclient lpcreatestruct lpcs,ccreatecontext pcontext 建立左邊窗格中的檢視 if m wndsplitter.createview ...