www.pudn.com > xxmpx_sjs.rar > DoTest.cpp
// DoTest.cpp : implementation file
//
#include "stdafx.h"
#include "xxmpx.h"
#include "DoTest.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
static unsigned long time1,time2,timeWeight,speed;//这几个变量用于显示输入速度
static char speedStr[10];
static int page=1;
static int showFlag=1;
static int showFlag2=1;
static char targetString[41];
static char *PerKeyShow[]={"人入火贝大天夭夫……………………………………A",
"弓乃子了 勹夕鱼鸟乌 ……………B b",
"月用甫耳且目……………………………………………………C",
"亠亡立六文亦方广……………………………………D",
"山巾彐五正车…………………………………E",
"石歹万厂 十……………………………… F f",
"虫 酉西三二一……………………………………………G",
"非片卜爿川丨业止上…H",
"土士工干千 ……………………………………… I",
"手寸于丁…………………………………………J",
"日曰 ……………………………………………………K",
"饣乙己已巳巴……………………………L",
"宀穴 皿四………………………………M",
"艹廾甘廿井卅世 几九儿………… N n",
"口囗…………………………………………………………………O",
" 尸羽马力刀………………………P",
"生牛午 甲由申田母毋…………………………Q",
"木未末耒 戋戈弋………………………R",
"豸身舟白乡斤………………………S",
" 匕七乇毛…………………………………… T t",
"王壬丰 门冂凵匚……………U",
"疒豕乑水氺巛八酋……………………V",
"心 臼也乜 ……………………………………………… W",
"女丈夂攵久又…………………………………………X",
"禾米不小………………………………………Y",
"幺厶之辶廴……………………………………Z"};
static char *ghzl[]={"人","阝","","月","山","石","虫","忄","","土","扌","",
"日","曰","讠","","宀","艹","口","尸","钅","",
"木","彳","","犭","","亻","","王","疒","氵","女","禾","纟",""};
//有12个
static char *dlz_bcm[]={"立:dl.(补充码)","亡:dw.(补充码)","酉:gy.(补充码)","石:fs.(补充码)",
"末:rm.(补充码)","乙:ly.(补充码)","鸟:bn.(补充码)","入:ar.(补充码)",
"毋:qw.(补充码)","申:qs.(补充码)","几:nj.(补充码)","工:ig.(补充码)"};
//dlz 单梁字 “人ren”之前有54个,之后有137个,共193个
static char *dlz[]={"刂 立l刀旁"," 立l刀旁"," 竹z字头"," 虎h字头","虍 虎h字头"," 足z字旁",
" 牛n字旁"," 匕b字旁","丶 点d"," 点d","一 横h","丿 撇p"," 撇p"," 捺n",
"彡 三s撇"," 三s撇"," 二e点"," 三s点","灬 四s点底"," 四s点底"," 四s字头"," 鸟n字头",
" 平p宝盖","冖 平p宝盖"," 骨g字头"," 曹c字头"," 贯g字头"," 己j字旁",
" 巳s字旁"," 雨u:字头"," 丰f字头"," 手s字头"," 手s字旁"," 手s字旁",
" 左z框"," 左z框","冂 下x框"," 下x框"," 下x框"," 右y框","匚 右y框","凵 上s框",
"囗 方f框", "饣 食s字旁","辶 走z之底","夂 父f字头","攵 反f文旁",
"衤 衣y字旁"," 衣y字旁","礻 示s字旁"," 示s字旁","冫 二e点水"," 二e点水","丨 竖s", //54个
"人ren","入ru","火huo","贝bei","大dai","天tian","夭yao","夫fu","弓gong",
"乃nai","子zi","了le","夕xi","鱼u:","鸟niao","乌wu","月u:e","用yong","甫fu","耳er","且qie",
"目mu","亡wang","立li","六liu","文wen","亦yi","方fang","广guang","山shan","巾jin","正zheng",
"五wu","车che","石shi","歹dai","万wan","厂chang","十shi","虫chong","酉you","西xi","三san",
"二er","一yi","非fei","业ye","止zhi","上shang","凸tu","片pian","卜bu","川chuan","土tu",
"士shi","工gong","干gan","千qian","手shou","于u:","寸cun","丁ding","日ri","曰u:e","乙yi",
"已yi","己ji","巳si","巴ba","○ling","穴xue","皿min","四si","甘gan","廿nian","井jing",
"世shi","卅sa","几ji","九jiu","儿er","口kou","尸shi","羽u:","马ma","力li","刀dao","生sheng",
"牛niu","午wu","甲jia","由you","申shen","田tian","母mu","毋wu","木mu","未wei","末mo",
"戋jian","戈ge","弋yi","身shen","舟zhou","白bai","乡xiang","斤jin","匕bi","七qi","毛mao",
"王wang","壬ren","丰feng","门men","水shui","八ba","酋qiu","心xin","臼jiu","也ye","女nu:",
"丈zhang","久jiu","又you","禾he","米mi","不bu","小xiao","幺yao","之zhi","凹ao","乜mie",
"厶si","爿pan","耒le","豸zhi","豕shi"};
static char *tszf[]={"阝","忄","扌","讠","饣","宀","艹","","钅","", //前10个
",","、","。",":",";","?","!","·","~","(",")",
"“","”","‘","’","《","》","%","‰","℃",
"①","②","√","¥","£","$","→","↑","§","※","№","∕","\","+","-",
"×","÷","=","≈","≠","─","…","{","}","『","』","〖","〗", //前58个
"──","……","{}","『』","〖〗"}; //共63个
/////////"──","……","{ }","『』","〖〗"
/////////////////////////////////////////////////////////////////////////////
// DoTest dialog
DoTest::DoTest(CWnd* pParent /*=NULL*/)
: CDialog(DoTest::IDD, pParent)
{
//{{AFX_DATA_INIT(DoTest)
m_edit_text = _T("请打开形象码输入法然后选择练习");
m_radio_lx = -1;
m_static_ts = _T(" 虽然有的人只需几个小时就可以掌握,但我们还是建议");
m_static_ts6 = _T("学习者要下一点功夫坚持练习20个小时以上。因为一种生理");
m_static_ts7 = _T("反射的形成需要有足够的刺激量,而只有利用生理反射才能");
m_static_ts8 = _T("从根本上减轻脑力负担达到轻松快速不伤神不遗忘的效果。");
//}}AFX_DATA_INIT
}
void DoTest::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DoTest)
DDX_Control(pDX, IDC_BUTTON_SHOW2, m_button_show2);
DDX_Control(pDX, IDC_BUTTON_HIDE2, m_button_hide2);
DDX_Control(pDX, IDC_BUTTON_YCTS, m_button_ycts);
DDX_Control(pDX, IDC_BUTTON_UP, m_button_up);
DDX_Control(pDX, IDC_BUTTON_SHOW, m_button_show);
DDX_Control(pDX, IDC_BUTTON_LSXS, m_button_lsxs);
DDX_Control(pDX, IDC_BUTTON_DOWN, m_button_down);
DDX_Text(pDX, IDC_EDIT_TEXT, m_edit_text);
DDV_MaxChars(pDX, m_edit_text, 40);
DDX_Radio(pDX, IDC_RADIO1, m_radio_lx);
DDX_Text(pDX, IDC_STATIC_TS, m_static_ts);
DDV_MaxChars(pDX, m_static_ts, 80);
DDX_Text(pDX, IDC_STATIC_TS6, m_static_ts6);
DDV_MaxChars(pDX, m_static_ts6, 80);
DDX_Text(pDX, IDC_STATIC_TS7, m_static_ts7);
DDV_MaxChars(pDX, m_static_ts7, 80);
DDX_Text(pDX, IDC_STATIC_SPEED, m_static_ts8);
DDV_MaxChars(pDX, m_static_ts8, 80);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DoTest, CDialog)
//{{AFX_MSG_MAP(DoTest)
ON_BN_CLICKED(IDC_BUTTON_DOWN, OnButtonDown)
ON_BN_CLICKED(IDC_BUTTON_LSXS, OnButtonLsxs)
ON_BN_CLICKED(IDC_BUTTON_SHOW, OnButtonShow)
ON_BN_CLICKED(IDC_BUTTON_UP, OnButtonUp)
ON_BN_CLICKED(IDC_BUTTON_YCTS, OnButtonYcts)
ON_EN_CHANGE(IDC_EDIT_TEXT, OnChangeEditText)
ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
ON_BN_CLICKED(IDC_RADIO10, OnRadio10)
ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
ON_BN_CLICKED(IDC_RADIO5, OnRadio5)
ON_BN_CLICKED(IDC_RADIO6, OnRadio6)
ON_BN_CLICKED(IDC_RADIO7, OnRadio7)
ON_BN_CLICKED(IDC_RADIO8, OnRadio8)
ON_BN_CLICKED(IDC_RADIO9, OnRadio9)
ON_BN_CLICKED(IDC_BUTTON_SHOW2, OnButtonShow2)
ON_BN_CLICKED(IDC_BUTTON_HIDE2, OnButtonHide2)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DoTest message handlers
void DoTest::OnButtonDown()
{
// TODO: Add your control notification handler code here
m_button_up.EnableWindow(TRUE);
page++; //全局变量
if(page==26) m_button_down.EnableWindow(FALSE);
static char *str[]={"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26"};
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText(str[page-1]);
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("");
}
void DoTest::OnButtonLsxs() //临时显示
{
// TODO: Add your control notification handler code here
m_button_show.EnableWindow(FALSE);
m_button_lsxs.EnableWindow(FALSE);
//---------------------------------
int len;
len=strlen(m_edit_text);
len=len/2+len/2; //使len成为偶数
if(len<39) //选择了练习
{
MyShowing();
}
else
GetDlgItem(IDC_STATIC_TS)->SetWindowText(""); //处理len==40的情况
//-------------------------------
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
}
void DoTest::OnButtonShow()
{
// TODO: Add your control notification handler code here
showFlag=1;
m_button_ycts.EnableWindow(TRUE);
m_button_show.EnableWindow(FALSE);
m_button_lsxs.EnableWindow(FALSE);
int len;
len=strlen(m_edit_text);
len=len/2+len/2; //使len成为偶数
if(len<39) //选择了练习
{
MyShowing();
} // len<39 //选择了练习
else
GetDlgItem(IDC_STATIC_TS)->SetWindowText(""); //处理len==40的情况
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
}
void DoTest::OnButtonShow2()
{
// TODO: Add your control notification handler code here
showFlag2=1;
m_button_hide2.EnableWindow(TRUE);
m_button_show2.EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("除第1码外,可用“[”号代替不清楚的码进行输入");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
}
void DoTest::OnButtonHide2()
{
// TODO: Add your control notification handler code here
if(m_radio_lx < 1)
{
MessageBox("请选择练习!","注意",MB_ICONINFORMATION);
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
}
else
{
showFlag2=0;
m_button_hide2.EnableWindow(FALSE);
m_button_show2.EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("");
}
}
void DoTest::OnButtonUp()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
page--; //全局变量
if(page==1) m_button_up.EnableWindow(FALSE);
static char *str[]={"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26"};
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText(str[page-1]);
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("");
}
void DoTest::OnButtonYcts() //隐藏提示
{
// TODO: Add your control notification handler code here
if(m_radio_lx < 1)
{
MessageBox("请选择练习!","注意",MB_ICONINFORMATION);
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
}
else
{
showFlag=0;
m_button_show.EnableWindow(TRUE);
m_button_lsxs.EnableWindow(TRUE);
m_button_ycts.EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_TS)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS6)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS7)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS1)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS2)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS3)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
}
}
void DoTest::OnChangeEditText()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
if(showFlag==0)
{
m_button_show.EnableWindow(TRUE);
m_button_lsxs.EnableWindow(TRUE);
}
GetDlgItem(IDC_EDIT_TEXT)->GetWindowText(m_edit_text);
int len;
len=strlen(m_edit_text);
//-----------------输入速度---------------------------------------------
if(len==2)
{
time1=GetMessageTime();
}
if(len>38)
{
time2=GetMessageTime();
timeWeight=(time2-time1)/100; // 精确到 1/10 秒
speed=(20*600)/timeWeight; // 每分钟多少字,其中每行20个字
_ltoa((long)speed,speedStr,10);
strcat(speedStr," 字∕分钟");
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText(speedStr);
m_static_ts8=speedStr;
}
//----------------------------------------------------------------------
CString hand,buf="↑";
char bufstr[43];
strcpy(bufstr,m_edit_text);
for(int i=0;i';
}
hand=bufstr;
hand=hand+buf;
GetDlgItem(IDC_STATIC_HAND)->SetWindowText(hand);
//---------------------------------
if(m_radio_lx<1)
{
MessageBox("请选择练习!","注意",MB_ICONINFORMATION);
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
showFlag=1;
m_button_show.EnableWindow(FALSE);
m_button_lsxs.EnableWindow(FALSE);
m_button_ycts.EnableWindow(TRUE);
return;
}
if(showFlag2==1)
{
if(len==1 || len==2 || len==16) m_static_ts8="输入窗口中的第1个字可用空格键送出";
if(len==4 || len==18|| len==30) m_static_ts8="第2个字可用点号键(L右下角的那个键)送出";
if(len==6 || len==20|| len==32) m_static_ts8="含有“;”脚标的字可用分号键(L右侧的那个键)送出";
if(len==8 || len==22|| len==34) m_static_ts8="重码字的第1个将被后边的输入自动顶出";
if(len==10 ||len==24|| len==36) m_static_ts8="按“-”号键向前翻页 按“=”号键向后翻页";
if(len==12 ||len==26|| len==38) m_static_ts8="除第1码外,可用“[”号代替不清楚的码进行输入";
if(len==14 ||len==28) m_static_ts8="将一个字粘贴到造词软件中即可知道该字的码";
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText(m_static_ts8);
}
else
{
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("");
}
len=len/2+len/2; //使len成为偶数
if(len<39 && showFlag==1) //选择了练习
{
MyShowing();
}
else if(len<39 && showFlag==0)
{
GetDlgItem(IDC_STATIC_TS)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS6)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS7)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS1)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS2)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS3)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
}
else //(len>=39)//编辑框中的输入已达到最大字节数 //处理len==40的情况
{
m_button_up.EnableWindow(TRUE);
/* char tempstring[46],tempbuff[46];
strcpy(tempstring,m_edit_text);
tempbuff[0]=tempstring[38]; //得到编码框的第20个字
tempbuff[1]=tempstring[39];
tempbuff[2]='\0';
tempstring[0]=targetString[38]; //得到参照框的第20个字
tempstring[1]=targetString[39];
tempstring[2]='\0';
*/
// if(strcmp(tempbuff,tempstring)==0 && page<=25)
if(strcmp(targetString,m_edit_text)==0 && page<=25)
{
page++; //全局变量
static char *str[]={"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26"};
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText(str[page-1]);
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
if(page==26)
{
m_button_down.EnableWindow(FALSE);
}
}
else
{
GetDlgItem(IDC_STATIC_TS)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS6)->SetWindowText("");
if(strcmp(m_edit_text,targetString)==0)
GetDlgItem(IDC_STATIC_TS7)->SetWindowText("该练习已完成,请重新选择练习");
else
GetDlgItem(IDC_STATIC_TS7)->SetWindowText("本行有错!请删除后重新输入");
GetDlgItem(IDC_STATIC_TS1)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS2)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS3)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
}
}
}
void DoTest::OnRadio1()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=1;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::OnRadio10()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=10;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::OnRadio2()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=2;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::OnRadio3()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=3;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::OnRadio4()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=4;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::OnRadio5()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=5;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::OnRadio6()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=6;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::OnRadio7()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=7;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::OnRadio8()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=8;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::OnRadio9()
{
// TODO: Add your control notification handler code here
m_button_down.EnableWindow(TRUE);
m_button_up.EnableWindow(FALSE);
m_radio_lx=9;
page=1;
GetDlgItem(IDC_STATIC_PAGE)->SetWindowText("1");
TextShow();
GetDlgItem(IDC_STATIC_TARGET)->SetWindowText(targetString);
GetDlgItem(IDC_EDIT_TEXT)->SetWindowText("");
GetDlgItem(IDC_EDIT_TEXT)->SetFocus();
GetDlgItem(IDC_STATIC_SPEED)->SetWindowText("根据提示输入“↑”所指处的汉字");
}
void DoTest::TextShow()
{
char b,buf[46];
int i,j;
FILE *fp_xxmpxDat;
fp_xxmpxDat=fopen("Wxxmpx.mb","rb");
if(!fp_xxmpxDat)exit(0);
fseek(fp_xxmpxDat,44*((m_radio_lx-1)*26+page-1),SEEK_SET);
for(i=0;i<4;i++)
{
fread(&b,1,sizeof(char),fp_xxmpxDat);
fread(buf,1,b,fp_xxmpxDat);
for(j=0;jSetWindowText(m_static_ts); //显示汉字、字梁
GetDlgItem(IDC_STATIC_TS6)->SetWindowText(m_static_ts6); //显示编码
GetDlgItem(IDC_STATIC_TS7)->SetWindowText(m_static_ts7); //显示补充说明
//----------------------------------------------------显示四行字梁-------------------
for(k=0;k<63;k++) //特殊字符从第1个到63个
{
if(strcmp(temp_mbz,tszf[k])==0)
break;
}
if(k<63 )
{
if(k<10)
{
GetDlgItem(IDC_STATIC_TS1)->SetWindowText(PerKeyShow[temp_mbm[0]-'a']);
}
else
{
GetDlgItem(IDC_STATIC_TS1)->SetWindowText("");
}
GetDlgItem(IDC_STATIC_TS2)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS3)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
}
else
{
mlen=strlen(temp_mbm);
if((mlen==1)||(mlen==2 && temp_mbm[1]==';') || (mlen==3 && temp_mbm[2]==';')) //单梁字
{
GetDlgItem(IDC_STATIC_TS1)->SetWindowText(PerKeyShow[temp_mbm[0]-'a']);
GetDlgItem(IDC_STATIC_TS2)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS3)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
}
if((mlen==2 && temp_mbm[1]!=';')||(mlen==4 && temp_mbm[3]==';')) //双梁字
{
GetDlgItem(IDC_STATIC_TS1)->SetWindowText(PerKeyShow[temp_mbm[0]-'a']);
if(temp_mbm[1]!=temp_mbm[0])
GetDlgItem(IDC_STATIC_TS2)->SetWindowText(PerKeyShow[temp_mbm[1]-'a']);
else
GetDlgItem(IDC_STATIC_TS2)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS3)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
}
if(mlen==3 && temp_mbm[2]!=';') //三梁字
{
GetDlgItem(IDC_STATIC_TS1)->SetWindowText(PerKeyShow[temp_mbm[0]-'a']);
if(temp_mbm[1]!=temp_mbm[0])
GetDlgItem(IDC_STATIC_TS2)->SetWindowText(PerKeyShow[temp_mbm[1]-'a']);
else
GetDlgItem(IDC_STATIC_TS2)->SetWindowText("");
if((temp_mbm[2]!=temp_mbm[0]) && (temp_mbm[2]!=temp_mbm[1]))
GetDlgItem(IDC_STATIC_TS3)->SetWindowText(PerKeyShow[temp_mbm[2]-'a']);
else
GetDlgItem(IDC_STATIC_TS3)->SetWindowText("");
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
}
if(mlen==4 && temp_mbm[3]!=';') //四梁字或词组
{
GetDlgItem(IDC_STATIC_TS1)->SetWindowText(PerKeyShow[temp_mbm[0]-'a']); //位置1
if(temp_mbzl[2]>='a' && temp_mbzl[2] <='z') //如果该位置是识别码 //位置2
GetDlgItem(IDC_STATIC_TS2)->SetWindowText("");
else
{
if(temp_mbm[1]!=temp_mbm[0])
GetDlgItem(IDC_STATIC_TS2)->SetWindowText(PerKeyShow[temp_mbm[1]-'a']);
else
GetDlgItem(IDC_STATIC_TS2)->SetWindowText("");
}
//位置3
if(temp_mbm[2]==temp_mbm[0])
GetDlgItem(IDC_STATIC_TS3)->SetWindowText("");
else if(temp_mbm[2]==temp_mbm[1] && (temp_mbzl[2]<'a'||temp_mbzl[2]>'z'))
GetDlgItem(IDC_STATIC_TS3)->SetWindowText("");
else
GetDlgItem(IDC_STATIC_TS3)->SetWindowText(PerKeyShow[temp_mbm[2]-'a']);
//位置4
if((temp_mbzl[5]>='a' && temp_mbzl[5] <='z') ||(temp_mbzl[6]>='a' && temp_mbzl[6] <='z')) //如果该位置是识别码
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
else
{
if( temp_mbm[3]==temp_mbm[0] || temp_mbm[3]==temp_mbm[2])
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
else if( (temp_mbm[3]==temp_mbm[1]) && (temp_mbzl[2]<'a'||temp_mbzl[2]>'z'))
GetDlgItem(IDC_STATIC_TS4)->SetWindowText("");
else
GetDlgItem(IDC_STATIC_TS4)->SetWindowText(PerKeyShow[temp_mbm[3]-'a']);
}
}
} //else
}