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()
};