程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> VC++中HTControl掌握類應用之CHTDlgBase對話框基類實例

VC++中HTControl掌握類應用之CHTDlgBase對話框基類實例

編輯:關於C++

VC++中HTControl掌握類應用之CHTDlgBase對話框基類實例。本站提示廣大學習愛好者:(VC++中HTControl掌握類應用之CHTDlgBase對話框基類實例)文章只能為提供參考,不一定能成為您想要的結果。以下是VC++中HTControl掌握類應用之CHTDlgBase對話框基類實例正文


本文所述為VC++界面編程的一個MFC例子,基於HTControl控件類的CHTDlgBase對話框基類主文件代碼。該法式可完成靜態創立框架窗體,窗體外不雅(客戶區與非客戶區),調劑窗體年夜小,有效子窗口的掌握等功效。

詳細完成代碼以下:

/****************************************************************************
| Copyright (c) 2012,                            |
****************************************************************************/
#if !defined(__CHTDlgBase1_H__)
#define __CHTDlgBase1_H__
class AFX_CLASS_EXPORT CHTDlgBase1 : public CDialog
{
 DECLARE_DYNAMIC(CHTDlgBase1)
public:
/****************************************************************************
| 函數功效:創立模態對話框                         |
| 輸出參數:                                |
| szName: 窗體題目                             |
| dwStyle:窗體屬性                             |
| dwExStyle:窗體擴大屬性                          |
| pMainWnd:假如此窗體是主窗體,傳遞&m_pMainWnd               |
| 輸入參數:無                               |
| 前往值: 非0表現創立勝利,0表現掉敗                   |
| 說  明:                                |
****************************************************************************/
INT_PTR CreateModalDlg(char* szName, DWORD dwStyle, DWORD dwExStyle = NULL, CWnd** pMainWnd = NULL);
/****************************************************************************
| 函數功效:創立非模態對話框                        |
| 輸出參數:                                |
| szName: 窗體題目                             |
| dwStyle:窗體屬性                             |
| dwExStyle:窗體擴大屬性                          |
| pMainWnd:假如此窗體是主窗體,傳遞&m_pMainWnd               |
| 輸入參數:無                               |
| 前往值: 非0表現創立勝利,0表現掉敗                   |
| 說  明:                                |
****************************************************************************/
INT_PTR CreateModallessDlg(char* szName, DWORD dwStyle, DWORD dwExStyle = NULL, CWnd** pMainWnd = NULL);
/****************************************************************************
| 函數功效:使窗體矩形區域有效                       |
| 輸出參數:                                |
| lpRect: 有效矩形, NULL表現全部窗體區域有效                |
| bInvalidateChildren: 在lpRect區域上的子窗體能否也有效           |
| 輸入參數:無                               |
| 前往值: 無                               |
| 說  明:                                |
****************************************************************************/
void InvalidateRect(LPCRECT lpRect, BOOL bInvalidateChildren = FALSE);
public:
 //窗體寬,窗體年夜小轉變後值更新
 int m_iWindowWidth;
 //窗體高,窗體年夜小轉變後值更新
 int m_iWindowHeight;
 //窗體客戶區寬,窗體年夜小轉變後值更新
 int m_iClientWidth;
 //窗體客戶區高,窗體年夜小轉變後值更新
 int m_iClientHeight;
 int m_iMinWindowWidth;
 int m_iMinWindowHeight;
 //窗體寬度最年夜值,默許為0,表現鋪滿屏幕
 int m_iMaxWindowWidth;
 //窗體高度最年夜值,默許為0,表現鋪滿屏幕
 int m_iMaxWindowHeight;
 //TRUE:模態對話框 FALSE:非模態對話框, 弗成對其直接賦值
 BOOL m_bModal;
 //TRUE:在窗體上按下鼠標挪動,窗體追隨挪動 FALSE:窗體不追隨挪動,可以在派生類中直接賦值
 BOOL m_bLBtnMoveWindow;
 //弗成對其直接賦值
 BOOL m_bShowWindowFlag111;
public:
 CHTDlgBase1();
 virtual ~CHTDlgBase1();
 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
 afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
 afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
 afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp);
 afx_msg LRESULT OnNcHitTest(CPoint point);
 afx_msg void OnClose();
 afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
 afx_msg void OnActivateApp(BOOL bActive, DWORD dwThreadID);
 afx_msg void OnDestroy();
 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
 afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
 afx_msg void OnNcPaint();
 afx_msg BOOL OnNcActivate(BOOL bActive);
 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
 afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);
 afx_msg void OnNcDestroy();
 afx_msg void OnNcLButtonDblClk(UINT nHitTest, CPoint point);
 afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point);
 afx_msg void OnNcLButtonUp(UINT nHitTest, CPoint point);
 afx_msg void OnSize(UINT nType, int cx, int cy);
 DECLARE_MESSAGE_MAP()
protected:
 virtual void OnOK();
 virtual void OnCancel();
 HICON m_hIcon;
private:
 CWnd** m_ppMainWnd;
};
#endif //!__CHTDlgBase1_H__

該實例代碼在VC++項目開辟中有必定的自創價值,願望能給年夜家的項目開辟帶來必定的贊助。

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