/************************************************************************ * 程序名: 精仿QQ主界面 * 制作人: 李克平, 2011年04月11日 * 版本号: 1.0 ************************************************************************/ // QQDlg.h : 头文件 // #pragma once #include "SkinWin.h" #include "SkinButton.h" #include "SkinStatic.h" #include "SkinTab.h" #include "EnBitmap.h" #include "SkinEdit.h" #include "GfxOutBarCtrl.h" #include "MyListCtrl.h" #include "afxwin.h" // CQQDlg 对话框 class CQQDlg : public CDialog { // 构造 public: CQQDlg(CWnd* pParent = NULL); // 标准构造函数 CTreeCtrl wndTree; CGfxOutBarCtrl m_outBarCtrl; CMyListCtrl m_MyFriendListCtrl; protected: void AdjustControl(); void ReDrawCrl(CDC* m_MemDC); void ChangeWindowRgn(); CString GetStrCurrentTime(); //修正移动时窗口的大小 void FixMoving(UINT fwSide, LPRECT pRect); //修正改改变窗口大小时窗口的大小 void FixSizing(UINT fwSide, LPRECT pRect); //从收缩状态显示窗口 void DoShow(); //从显示状态收缩窗口 void DoHide(); //重载函数,只是为了方便调用 BOOL SetWindowPos(const CWnd* pWndInsertAfter, LPCRECT pCRect, UINT nFlags = SWP_SHOWWINDOW); private: CSkinWin m_skinWin; BOOL m_bFirst; CString strThemePath; CEnBitmap m_mainPanle; CEnBitmap m_leftPanle; HRGN m_hrgn; BOOL bScreenMax; CRect m_rectRestoreWin; CImageList m_imHead; CFont m_font; BOOL m_isSizeChanged; //窗口大小是否改变了 BOOL m_isSetTimer; //是否设置了检测鼠标的Timer INT m_oldWndHeight; //旧的窗口宽度 INT m_taskBarHeight; //任务栏高度 INT m_edgeHeight; //边缘高度 INT m_edgeWidth; //边缘宽度 INT m_hideMode; //隐藏模式 BOOL m_hsFinished; //隐藏或显示过程是否完成 BOOL m_hiding; //该参数只有在!m_hsFinished才有效 //真:正在隐藏,假:正在显示 // 实现 protected: HICON m_hIcon; // 对话框数据 enum { IDD = IDD_QQ_DIALOG }; CSkinStatic m_staUserHead; CSkinStatic m_staUserStatus; CSkinStatic m_staSysTime; CSkinEdit m_editSearch; CSkinButton m_btnWealth; CSkinButton m_btnTool; CSkinButton m_btnSMS; CSkinButton m_btnSell; CSkinButton m_btnPet; CSkinButton m_btnMusic; CSkinButton m_btnMSG; CSkinButton m_btnMail; CSkinButton m_btnLive; CSkinButton m_btnList; CSkinButton m_btnGame; CSkinButton m_btnSearch; CSkinButton m_btnColor; CSkinButton m_btnChat; CSkinButton m_btnBRW; CSkinButton m_btnApp; CSkinButton m_btnOnline; CSkinButton m_btnMainMenu; CSkinButton m_btnMainFigure; CSkinButton m_btnClose; CSkinButton m_btnMax; CSkinButton m_btnMin; CSkinTab m_skinTab; // 生成的消息映射函数 virtual BOOL OnInitDialog(); virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 afx_msg void OnClose(); afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); afx_msg void OnMin(); afx_msg void OnMax(); afx_msg void OnSizing(UINT fwSide, LPRECT pRect); afx_msg void OnMoving(UINT fwSide, LPRECT pRect); afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg LRESULT OnNcHitTest(CPoint point); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnBnClickedBtnMainmenu(); afx_msg void OnBnClickedBtnColor(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg BOOL OnEraseBkgnd(CDC* pDC); virtual BOOL PreTranslateMessage(MSG* pMsg); DECLARE_MESSAGE_MAP() };