📄 helpdlg.cpp
字号:
// HelpDlg.cpp : implementation file
//
#include "stdafx.h"
#include "elecdemo.h"
#include "HelpDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CHelpDlg dialog
CHelpDlg::CHelpDlg(CWnd* pParent /*=NULL*/)
: CDialog(CHelpDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CHelpDlg)
m_HelpText = _T("");
//}}AFX_DATA_INIT
}
void CHelpDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CHelpDlg)
DDX_Control(pDX, IDOK, m_OK);
DDX_Text(pDX, IDC_EDIT_HELP, m_HelpText);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CHelpDlg, CDialog)
//{{AFX_MSG_MAP(CHelpDlg)
ON_WM_PAINT()
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CHelpDlg message handlers
BOOL CHelpDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CString path=getPath()+"help.txt";
m_HelpText=ReadHelpFile(path);
//AfxMessageBox(m_HelpText);
// m_HelpText="sfasdfsadf\r\nsdfasdfa";
m_OK.SetShade(SHS_NOISE|SHS_METAL,8,10,20,RGB(0,0,255));
CenterWindow();
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
CString CHelpDlg::ReadHelpFile(CString name)
{
CString str;
CFileException ex;
CFile file;
if (!file.Open(name,CFile::modeRead | CFile::shareDenyWrite, &ex))
{
AfxMessageBox("打不开帮助文件");
}
else
{
BYTE buffer[4096];
DWORD dwRead;
do
{
dwRead = file.Read(buffer, 4096);
str+=buffer;
}while (dwRead > 0);
file.Close();
}
for(int i=0;i<str.GetLength();i++)
{
if(str.GetAt(i)=='\n')
{
//str.SetAt(i,'\r');
// str.Insert(i,'\n');
}
}
return str;
}
void CHelpDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;
GetWindowRect(rect);
if(m_bmpBack.m_hObject==NULL)
{
CString str;
str=getPath()+"back.bmp";
if(!LoadPictureFile(str,&m_bmpBack,m_backSize))
return ;
}
CDC tmpDC;
tmpDC.CreateCompatibleDC(&dc);
tmpDC.SelectObject(&m_bmpBack);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&tmpDC,0,0,m_backSize.cx,
m_backSize.cy,SRCCOPY);
// Do not call CDialog::OnPaint() for painting messages
}
HBRUSH CHelpDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_EDIT)
{
HBRUSH hb=::CreateSolidBrush(RGB(227,192,122));
pDC->SetBkMode(TRANSPARENT);
return hb;
}
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -