最終實現的效果, 通過乙個按鈕控制摺疊:
核心功能**:cpp:
// shrinkdowndlg.cpp : 實現檔案
//#include "stdafx.h"
#include "shrinkdown.h"
#include "shrinkdowndlg.h"
#include "afxdialogex.h"
#ifdef _debug
#define new debug_new
#endif
// cshrinkdowndlg 對話方塊
cshrinkdowndlg::cshrinkdowndlg(cwnd* pparent /*=null*/)
: cdialogex(idd_shrinkdown_dialog, pparent)
, ishow(true)
void cshrinkdowndlg::dodataexchange(cdataexchange* pdx)
begin_message_map(cshrinkdowndlg, cdialogex)
on_wm_paint()
on_wm_querydragicon()
on_bn_clicked(idc_btn_hide, &cshrinkdowndlg::onbtnhide)
end_message_map()
// cshrinkdowndlg 訊息處理程式
bool cshrinkdowndlg::oninitdialog()
// 如果向對話方塊新增最小化按鈕,則需要下面的**
// 來繪製該圖示。 對於使用文件/檢視模型的 mfc 應用程式,
// 這將由框架自動完成。
void cshrinkdowndlg::onpaint()
else }
//當使用者拖動最小化視窗時系統呼叫此函式取得游標
//顯示。
hcursor cshrinkdowndlg::onquerydragicon()
void cshrinkdowndlg::onbtnhide()
else
}
.h 檔案
// shrinkdowndlg.h : 標頭檔案
//#pragma once
// cshrinkdowndlg 對話方塊
class cshrinkdowndlg : public cdialogex
;#endif
protected:
virtual void dodataexchange(cdataexchange* pdx); // ddx/ddv 支援
// 實現
protected:
hicon m_hicon;
// 生成的訊息對映函式
virtual bool oninitdialog();
afx_msg void onpaint();
afx_msg hcursor onquerydragicon();
declare_message_map()
public:
bool ishow; //表示是否收縮的標誌位
crect rectsmall; //收縮時顯示最小化
crect rectlarge; //擴充套件時顯示最大化
afx_msg void onbtnhide();
};
如何實現伸縮(摺疊)報表?
原文發布在潤幹幹學院,位址為 在業務系統中分組統計是比較常見的資料分析形勢,但當資料項較多或分組的層級過多時看著就會比較煩亂,為了資料更清晰的展現,通常使用者會需要伸縮 摺疊 顯示的效果,這樣分類彙總的資料就一目了然的展現出來了。樹形報 式要求 分組格與它的子格不在同一行上,不能有行上的全包含或半包...
如何實現伸縮 摺疊 報表?
在業務系統中分組統計是比較常見的資料分析形式,但當資料項較多,或分組的層級過多時看著就會比較煩亂,為了資料更清晰的展現,通常使用者會需要伸縮 摺疊 顯示的效果,這樣分類彙總的資料就可一目了然的呈現。潤幹報表內建了這種伸縮功能,提供了兩種形式的摺疊報表 樹型摺疊報表和 olap 型摺疊報表。報表開發人...
如何實現伸縮 摺疊 報表?
在業務系統中分組統計是比較常見的資料分析形式,但當資料項較多,或分組的層級過多時看著就會比較煩亂,為了資料更清晰的展現,通常使用者會需要伸縮 摺疊 顯示的效果,這樣分類彙總的資料就可一目了然的呈現。潤幹報表內建了這種伸縮功能,提供了兩種形式的摺疊報表 樹型摺疊報表和 olap 型摺疊報表。報表開發人...