?? help.cpp
字號:
// Help.cpp : 實現文件
//
#include "stdafx.h"
#include "AI.h"
#include "Help.h"
#include ".\help.h"
// CHelp 對話框
IMPLEMENT_DYNAMIC(CHelp, CDialog)
CHelp::CHelp(CWnd* pParent /*=NULL*/)
: CDialog(CHelp::IDD, pParent)
{
}
CHelp::~CHelp()
{
}
void CHelp::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CHelp, CDialog)
ON_BN_CLICKED(IDC_HELP_STATUS, OnBnClickedHelp)
ON_BN_CLICKED(IDC_HELP_HAND, OnBnClickedHelp)
ON_BN_CLICKED(IDC_HELP_SEARCH, OnBnClickedHelp)
ON_BN_CLICKED(IDC_HELP_RESULT, OnBnClickedHelp)
ON_BN_CLICKED(IDC_HELP_GRAPH, OnBnClickedHelp)
ON_BN_CLICKED(IDC_HELP_COMPARE, OnBnClickedHelp)
END_MESSAGE_MAP()
// CHelp 消息處理程序
void CHelp::OnBnClickedHelp()
{
// TODO: 在此添加控件通知處理程序代碼
int select[] = {
IDC_HELP_STATUS,
IDC_HELP_HAND,
IDC_HELP_SEARCH,
IDC_HELP_RESULT,
IDC_HELP_GRAPH,
IDC_HELP_COMPARE,
};
static CString instroduction[sizeof(select) / sizeof(int)];
if(instroduction[0] == ""){
instroduction[0] = "一、默認狀態:選擇默認狀態\r\n\r\n"
"二、隨機選擇:讓計算機隨機選擇狀態,可選擇是否隨機初始狀"
"態、結束狀態,以及是否避免生成無解狀態\r\n\r\n"
"三、手動設置:圖片下方的復選框用來標明此圖是否已在初始狀"
"態(前)或結束狀態(后)中被選中,下方的數字用來在切換為"
"其它非數字圖片時標明圖片的序號值。設置方法為點擊圖片按鈕"
",再在狀態框里的具體位置單擊,即可將圖片放置其上,也可以"
"在狀態框中互換兩個圖片的位置\r\n\r\n"
"PS:在沒有選中手玩模式的情況下,可以隨意調換圖片位置,方法是"
"點擊狀態圖中的圖片,再點擊另一張圖片按鈕即可。\r\n另:隨機圖"
"可能無解哦!";
instroduction[1] = "必須選中“手玩模式”復選框才可以進入手玩模式,否則點擊圖片時"
",將會交換兩圖片的位置(這是為了設置狀態而用),在選中“手"
"玩模式”之前,需要先設置好狀態。\r\n進入手玩模式后將丟失先前搜"
"索信息!\r\n移動圖片時只需要單擊空圖旁邊的圖片,即可讓圖片向空"
"圖位置移動,如果想退回上一步,單擊“上一步”按鈕即可,相應"
"地,也有“下一步”按鈕,也可以選擇恢復初始狀態。移動時將指"
"出當前所用的步數。";
instroduction[2] = "讓計算機幫你解決問題,可以嘗試選擇不同的搜索策略進行搜索,"
"通過觀察搜索結果比較不同搜索策略的不同以及優劣。\r\n"
"本系統共提供八種算法(具體見搜索算法面板)。\r\n"
"單擊“開始搜索”按鈕開始利用計算機找尋答案。因為本"
"系統采用多線程編寫,如果算法所用時間過長,也可以中途停止"
"搜索(在搜索時,按鈕將變為“停止搜索”)。";
instroduction[3] = "點擊“詳細>>”按鈕,可以看到搜索結果欄,在此欄中可以觀察各"
"種算法的搜索結果數據差別。";
instroduction[4] = "在搜索有解或者手動出解的情況下,即可以生成解路徑的狀態轉移圖了。狀態表示形式:\r\n\r\n"
" 2 3\r\n\r\n"
"1 4 5 ===========> 876541320\r\n\r\n"
"6 7 8\r\n\r\n"
"空圖用0來表示\r\n"
"見菜單->功能->生成狀態圖,初始狀態時,該按鈕無效。"
"在手動模式下成功到達目標或者利用算法成功搜索到解決方案時"
",該按鈕將變成有效,點擊可以觀察狀態的變化過程。";
instroduction[5] = "見菜單->功能->橫向評測。同時啟動所有算法進行評比各項統計結果。";
}
int item = GetFocus()->GetDlgCtrlID();
for(int i = 0; i < sizeof(select) / sizeof(int); ++i){
if(item == select[i]){
SetDlgItemText(IDC_RICHEDIT_INTRO, instroduction[i]);
return;
}
}
}
BOOL CHelp::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加額外的初始化
GetDlgItem(IDC_HELP_STATUS)->SetFocus();
( (CButton *) GetDlgItem(IDC_HELP_STATUS) )->SetCheck(TRUE);
return TRUE; // return TRUE unless you set the focus to a control
// 異常: OCX 屬性頁應返回 FALSE
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -