previewdlg.cpp

来自「Visual C++ 的学习资料一」· C++ 代码 · 共 63 行

CPP
63
字号
// PreviewDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CPreviewFileDlg.h"
#include "PreviewDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPreviewDlg

IMPLEMENT_DYNAMIC(CPreviewDlg, CFileDialog)

CPreviewDlg::CPreviewDlg(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
		DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
		CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{
	m_ofn.Flags = (OFN_EXPLORER| OFN_ENABLETEMPLATE| OFN_ENABLEHOOK);
	m_ofn.lpTemplateName = MAKEINTRESOURCE(IDD_DIALOG1);
}


BEGIN_MESSAGE_MAP(CPreviewDlg, CFileDialog)
	//{{AFX_MSG_MAP(CPreviewDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


BOOL CPreviewDlg::OnInitDialog() 
{
	CFileDialog::OnInitDialog();	
	m_bitmap.SubclassDlgItem(IDC_STATIC1,this);	
	return TRUE;  
}

void CPreviewDlg::OnFileNameChange()
{
	CFileDialog::OnFileNameChange();
	
	CString exp;
	exp=GetFileExt();
	exp.MakeUpper(); //在比较扩展名时不区分大小写
	if (exp == "BMP") //显示位图
	{
		m_bitmap.SetIcon(NULL);
		m_bitmap.ModifyStyle(SS_ICON,SS_BITMAP);
		m_bitmap.SetBitmap((HBITMAP)LoadImage(NULL,GetPathName(),IMAGE_BITMAP,100,100,LR_LOADFROMFILE));
	}
	else if (exp =="ICO") //显示图标
	{
		m_bitmap.SetBitmap(NULL);
		m_bitmap.ModifyStyle(SS_BITMAP,SS_ICON);
		
		m_bitmap.SetIcon((HICON)LoadImage(NULL,GetPathName(),IMAGE_ICON,100,100,LR_LOADFROMFILE));
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?