C MFC 窗體伸縮摺疊功能的實現

2021-07-29 11:16:25 字數 1930 閱讀 5656

最終實現的效果, 通過乙個按鈕控制摺疊:

核心功能**: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 型摺疊報表。報表開發人...