📄 游戏dlg.cpp
字号:
// 游戏Dlg.cpp : implementation file
/*********************************
[学VC编游戏]
编著、程序设计:唐明理 2004.7
E-mail: cqtml@163.com
**********************************/
#include "stdafx.h"
#include "游戏.h"
#include "游戏Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//extern char kin[255];
/////////////////////////////////////////////////////////////////////////////
// CMyDlg dialog
CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMyDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMyDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyDlg)
DDX_Control(pDX, IDC_TAB1, m_tab1);
DDX_Control(pDX, IDC_EXPLORER1, m_web);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
//{{AFX_MSG_MAP(CMyDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1)
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyDlg message handlers
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
MoveWindow(0,0,800,600); //
CenterWindow(); //
GetDlgItem(IDC_TAB1)->MoveWindow( 0,0,720-45,40,TRUE);
GetDlgItem(IDC_BUTTON1)->MoveWindow( 800-125,2,53,34,TRUE);
GetDlgItem(IDOK)->MoveWindow( 800-70,2,53,34,TRUE);
GetDlgItem(IDC_EXPLORER1)->MoveWindow( 2,43,780,600-75,TRUE);
GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
GetDlgItem(IDOK)->EnableWindow(FALSE);
// SetDlgItemText(IDC_BUTTON1, kin);
GetCurrentDirectory(256,appdir);
TC_ITEM tcItem;
tcItem.mask=TCIF_TEXT;
tcItem.pszText="第1章 开篇辟意";
m_tab1.InsertItem(0,&tcItem);
tcItem.pszText="第2章 我来了";
m_tab1.InsertItem(1,&tcItem);
tcItem.pszText="第3章 让我动吧";
m_tab1.InsertItem(2,&tcItem);
tcItem.pszText="第4章 别给我框框";
m_tab1.InsertItem(3,&tcItem);
tcItem.pszText="第5章 走四方";
m_tab1.InsertItem(4,&tcItem);
tcItem.pszText="第6章 穿越丛林";
m_tab1.InsertItem(5,&tcItem);
tcItem.pszText="第7章 广阔天地";
m_tab1.InsertItem(6,&tcItem);
tcItem.pszText="第8章 脚踏实地";
m_tab1.InsertItem(7,&tcItem);
tcItem.pszText="第9章 狩猎谋生";
m_tab1.InsertItem(8,&tcItem);
tcItem.pszText="第10章 快一点";
m_tab1.InsertItem(9,&tcItem);
tcItem.pszText="第11章 再快一点";
m_tab1.InsertItem(10,&tcItem);
tcItem.pszText="第12章 真的打呀";
m_tab1.InsertItem(11,&tcItem);
tcItem.pszText="第13章 地图编辑器";
m_tab1.InsertItem(12,&tcItem);
m_tab1.SetCurSel(0);
comstr="01.开篇辟意";
webstr=comstr+".htm";
web(webstr);
return TRUE; // return TRUE unless you set the focus to a control
}
void CMyDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
HCURSOR CMyDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CMyDlg::OnOK()
{ WinExec (comstr+".exe",SW_SHOW);
// CDialog::OnOK();
}
void CMyDlg::OnButton1()
{ CFile file;
char na[300];
sprintf(na,"../%s/test.dsw",comstr);
//AfxMessageBox(na);
if( !file.Open(na, CFile::modeRead, NULL)) return;
file.Close();
ShellExecute(m_hWnd,"open",na,NULL,NULL,SW_MAXIMIZE);
}
void CMyDlg::web(CString na)
{//===============================================================
CString dir;
dir.Format("%s\\htm\\%s",appdir,na);
// AfxMessageBox(dir);
m_web.Navigate(dir,&COleVariant((long)0, VT_I4),
&COleVariant((LPCTSTR)NULL, VT_BSTR), NULL,
&COleVariant((LPCTSTR)NULL, VT_BSTR));
//===============================================================
}
void CMyDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{ int iPage=m_tab1.GetCurSel();
switch(iPage)
{ case 0: comstr="01.开篇辟意"; break;
case 1: comstr="02.我来了"; break;
case 2: comstr="03.让我动吧"; break;
case 3: comstr="04.别给我框框"; break;
case 4: comstr="05.走四方"; break;
case 5: comstr="06.穿越丛林"; break;
case 6: comstr="07.广阔天地"; break;
case 7: comstr="08.脚踏实地"; break;
case 8: comstr="09.狩猎谋生"; break;
case 9: comstr="10.快一点"; break;
case 10:comstr="11.再快一点"; break;
case 11:comstr="12.真的打呀"; break;
case 12:comstr="13.地图编辑器"; break;
}
if(iPage==0)
{GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
GetDlgItem(IDOK)->EnableWindow(FALSE);
}
else
{GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
GetDlgItem(IDOK)->EnableWindow(TRUE);
}
webstr=comstr+".htm";
web(webstr);
*pResult = 0;
}
void CMyDlg::OnCancel()
{ ExitSkinMagicLib();
CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -