直接上主要代码啦
// Image1Dlg.h : 头文件
//
#pragma once
#include "afxwin.h"
// CImage1Dlg 对话框
class CImage1Dlg : public CDialogEx
{
// 构造
public:
CImage1Dlg(CWnd* pParent = NULL); // 标准构造函数
// 对话框数据
enum { IDD = IDD_IMAGE1_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
private:
CString m_strFilePath;
//定义图像文件信息
//BITMAPINFOHEADER bi;//信息头
//RGBQUAD* quad;//调色板
//BYTE* lpBuf;//图像数据
//BITMAPINFO* pbi;
//int flag; //标志,表示是否打开了bmp文件
//int numQuad; //调色板数目
//BYTE* lpShowBuf;//用于显示的图像数据
//int zoomFactor;//缩放比率
CImage m_pic; //载入的图片
CDC m_cacheDC; //缓冲DC
CDC* m_picDC; //picture control的DC
CBitmap m_cacheBitmap; //缓冲位图
CRect m_client;//picture control大小
int m_iFirst;
int m_picWidth; //载入图片的宽
int m_picHeight; //载入图片的高
int m_iShowWidth; //要显示的宽
int m_iShowHeight; //要显示的高
int m_iX; //图较大时要显示的X坐标
int m_iY; //图较大时要显示的Y坐标
public:
CStatic m_PictureControl;//picture control 控件变量
CScrollBar m_ScrollBarH; //水平滚动条
CScrollBar m_ScrollBarV; //垂直滚动条
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnBnClickedButtonOpen();
afx_msg void OnBnClickedOk();
};
// FullScreenDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "FullScreen.h"
#include "FullScreenDlg.h"
#include "afxdialogex.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
#define WIDTHBYTES(bits) (((bits)+31)/32*4)//用于使图像宽度所占字节数为4byte的倍数
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialogEx
{
public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP