📄 puzzledlg.h
字号:
// PuzzleDlg.h : header file
//
#if !defined(AFX_PUZZLEDLG_H__154F8F2D_F316_4FFE_99EC_5CBC2DF67BCE__INCLUDED_)
#define AFX_PUZZLEDLG_H__154F8F2D_F316_4FFE_99EC_5CBC2DF67BCE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "DialogCtrl.h"
#include "PuzzleBmpEX.h"
#include "Nd_bitmap.h"
/////////////////////////////////////////////////////////////////////////////
// CPuzzleDlg dialog
enum
{
_MOUSE_FILL = 0,
_MOUSE_PICK = 1,
_MOUSE_CLEAR = 2,
_MOUSE_MOVELAYER = 3,
};
typedef struct
{
CPuzzleBmpEX bmpPuzzle;
CMyPos posPuzzle;
}LayerInfo;
#include <deque>
using namespace std;
typedef deque<LayerInfo*>DEQUE_PUZZLEBMP;
class CPuzzleDlg : public CDialog
{
// Construction
public:
CPuzzleDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CPuzzleDlg)
enum { IDD = IDD_PUZZLE_DIALOG };
CButton m_ctlMode;
CComboBox m_ctrlSize;
CButton m_ctlRoll;
CListBox m_ctrlLayer;
CListBox m_ctrlPic;
CSliderCtrl m_ctrlSlider;
CStatic m_picMain;
BOOL m_ctrlMiniMap;
BOOL m_ctrlGrid;
BOOL m_ctrlPos;
BOOL m_ctrlMiniPic;
BOOL m_ctrlFollow;
CString m_strAni;
CString m_strSpeedX;
CString m_strSpeedY;
CString m_strV1Color;
CString m_strV2Color;
CString m_strV3Color;
CString m_strV4Color;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CPuzzleDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CPuzzleDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
virtual void OnCancel();
afx_msg void OnMenuitemExit();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnMenuitemOpen();
afx_msg void OnButtonExit();
afx_msg void OnButtonOpen();
afx_msg void OnClose();
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnSetfocusListPic();
afx_msg void OnSelchangeListPic();
afx_msg void OnButtonPick();
afx_msg void OnButtonFill();
afx_msg void OnButtonClear();
afx_msg void OnButtonAddLayer();
afx_msg void OnButtonDellayer();
afx_msg void OnButtonSetlayer();
afx_msg void OnButtonCombinLayer();
afx_msg void OnButtonSave();
afx_msg void OnButtonNew();
afx_msg void OnButtonSetAni();
afx_msg void OnButtonSetrollspeed();
afx_msg void OnButtonRoll();
virtual void OnOK();
afx_msg void OnButtonBgcolor();
afx_msg void OnSetfocusListLayer();
afx_msg void OnEditchangeComboSize();
afx_msg void OnButtonCount();
afx_msg void OnButtonmode();
afx_msg void OnRadioFirstlayer();
afx_msg void OnRadioSecondlayer();
afx_msg void OnButtonApply();
afx_msg void OnButtonModify();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CDialogCtrl* m_pDialogCtrl;
CPuzzleBmpEX m_bmpPuzzle;
CMyPos m_posView;
CMySize m_sizeMiniMap;
BOOL m_bShowMiniMap;
int m_nMouseOperate;
int m_nCurrentIndex;
int m_nMovingLayer;
DEQUE_PUZZLEBMP m_setPuzzle;
BOOL m_bLeftButtonDown;
BOOL m_bRoll;
DWORD m_dwColor;
BOOL m_bSelectMode;
int m_iCurLayer;
private:
void Reset();
void PuzzleMain();
void OnOpenPuzzleFile();
void OnAddLayer();
void SetPosView();
void Process();
void ShowMiniMap();
void ShowLayers();
BOOL ProcessMiniMap();
void ProcessOperate();
void FlashList();
void ShowListPic();
void ShowMouseOperate();
void ClearPuzzleSet();
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_PUZZLEDLG_H__154F8F2D_F316_4FFE_99EC_5CBC2DF67BCE__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -