www.pudn.com > VQ_Final.rar > Main.h


#include "mybutton.h" 
 
#define LEFT (.25)				//左边面板占窗口宽度的比例 
 
class CMyApp : public CWinApp	//APP类 
{ 
public: 
	virtual BOOL InitInstance(); 
}; 
class CMainWindow : public CWnd	//主窗口,从CWnd派生而不是从CFrameWnd派生 
								//是为了响应一些消息(如WM_MOUSEHOVER) 
{ 
private: 
	CMyButton m_bnOpen,m_bnVQ,m_bnAbout;	//三个按钮,CMyButton是我自己写的 
	CListBox m_lbInfo;						//显示文件信息的列表框 
	CPoint m_ptLeftTop;						//指向位图开始显示的左上角座标 
	BOOL m_bDragging,m_bSmallBMP,m_bVQed;	//分别表示是否在拖动,是否位图窗口小,是否量化成功 
	UINT m_nBits;							//表示位图的每一点的位数 
	 
	CString m_sFile,m_sTitle,m_sFileVQ;		//分别表示位图文件全名、文件名、量化后的文件名 
	CDC m_dcMem,m_dcBmp,m_dcBack;			//几个内存DC 
	BITMAP m_Bmp;							//位图结构体	 
	CRect m_rcLeft;							//位图显示的位置矩形 
public: 
	CMainWindow();				 
 
	void InitControls();					//初始化按钮和列表框 
	void Layout();							//每次窗口大小改变后重新布局 
	void DrawBoard(CDC *pDC);				//画面板 
	void DrawBMP(CDC *pDC);					//画位图 
	void LoadBMP();							//读入位图 
	void SmallBMP();						//处理当位图小于窗口的情况 
	 
protected:									//以下为消息响应,见名知义 
	afx_msg int OnCreate(LPCREATESTRUCT lpcs); 
	afx_msg BOOL OnEraseBkgnd(CDC *pDC); 
	afx_msg void OnSize(UINT nType,int cx,int cy); 
	afx_msg void OnOpen(); 
	afx_msg void OnVQ(); 
	afx_msg void OnAbout(); 
	afx_msg void OnLButtonDown(UINT nFlags,CPoint point); 
	afx_msg void OnLButtonUp(UINT nFlags,CPoint point); 
	afx_msg void OnMouseMove(UINT nFlags,CPoint point); 
	afx_msg void OnRButtonDown(UINT nFlags,CPoint point); 
	DECLARE_MESSAGE_MAP() 
};