www.pudn.com > xxmpx_sjs.rar > ZlbDlg.cpp


// ZlbDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "xxmpx.h" 
#include "ZlbDlg.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
const COLORREF CLOUDBLUE = RGB(128, 184, 223); 
 
///////////////////////////////////////////////////////////////////////////// 
// ZlbDlg dialog 
 
 
ZlbDlg::ZlbDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(ZlbDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(ZlbDlg) 
		// NOTE: the ClassWizard will add member initialization here 
	//}}AFX_DATA_INIT 
} 
 
 
void ZlbDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(ZlbDlg) 
	DDX_Control(pDX, IDC_TREE_ZLB, m_TreeCtrl); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(ZlbDlg, CDialog) 
	//{{AFX_MSG_MAP(ZlbDlg) 
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREE_ZLB, OnSelchangedTreeZlb) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// ZlbDlg message handlers 
 
BOOL ZlbDlg::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	 
	// TODO: Add extra initialization here 
	int i; 
	TV_ITEM tvItem; 
	TV_INSERTSTRUCT  tvInsert; 
	tvItem.mask=TVIF_TEXT|TVIF_PARAM; 
 
	tvItem.pszText="一点两点标记类";   //设置显示字符 
	tvItem.cchTextMax=14;              //设置字符大小 
	tvInsert.hParent=TVI_ROOT;         //设置为根目录 
	tvInsert.hInsertAfter=TVI_LAST;     
	tvInsert.item=tvItem; 
	HTREEITEM hRoot1=m_TreeCtrl.InsertItem(&tvInsert);  //得到目录位置 
 
	for(i=0;i<4;i++) 
	{ 
		if(i==0) 
	    tvItem.pszText="一点横 D:亠亡立六文亦方广";   //设置显示字符 
		else if(i==1) 
        tvItem.pszText="两点旋 V:疒豕乑水氺巛八酋";      
		else if(i==2) 
        tvItem.pszText="三个尖 W:心";             
        else 
        tvItem.pszText="四封顶 M:皿四";       
 
	    tvItem.cchTextMax=100;                         //设置字符大小 
	    tvInsert.hParent=hRoot1;                       //设置父目录为hRoot 
	    tvInsert.item=tvItem; 
	    m_TreeCtrl.InsertItem(&tvInsert); 
	} 
//==================================================================     
	tvItem.pszText="横竖撇捺奔流类"; 
	tvItem.cchTextMax=14; 
	tvInsert.hParent=TVI_ROOT;    //设置为根目录 
	tvInsert.hInsertAfter=TVI_LAST;     
	tvInsert.item=tvItem; 
	HTREEITEM hRoot2=m_TreeCtrl.InsertItem(&tvInsert);  //得到目录位置 
 
	for( i=0;i<6;i++) 
	{ 
		if(i==0) 
	    tvItem.pszText="横的感觉 G:酉西三二一";   //设置显示字符 
		else if(i==1) 
        tvItem.pszText="竖的感觉 H:非片卜爿川丨业止上";             
		else if(i==2) 
        tvItem.pszText="撇的感觉 S:豸身舟白乡斤";      
		else if(i==3) 
        tvItem.pszText="捺的感觉 R:戋戈弋";      
		else if(i==4) 
        tvItem.pszText="__左钩起 J:手寸于丁";      
		else 
        tvItem.pszText="__右弯提 L:饣乙己已巳巴";      
 
	    tvItem.cchTextMax=100;                         //设置字符大小 
	    tvInsert.hParent=hRoot2;                       //设置父目录为hRoot 
	    tvInsert.item=tvItem; 
	    m_TreeCtrl.InsertItem(&tvInsert); 
	} 
//==================================================================     
	tvItem.pszText="飘团拐折曲伸类"; 
	tvItem.cchTextMax=14; 
	tvInsert.hParent=TVI_ROOT;    //设置为根目录 
	tvInsert.hInsertAfter=TVI_LAST;     
	tvInsert.item=tvItem; 
	HTREEITEM hRoot3=m_TreeCtrl.InsertItem(&tvInsert);  //得到目录位置 
 
	for( i=0;i<5;i++) 
	{ 
		if(i==0) 
        tvItem.pszText="__横下飘 F:石歹万厂";      
		else if(i==1) 
        tvItem.pszText="__横折飘 P:尸羽马力刀";      
		else if(i==2) 
        tvItem.pszText="__撇折团 Z:幺厶之辶廴";      
		else if(i==3) 
        tvItem.pszText="大B弯曲 B:弓乃子了";      
        else 
        tvItem.pszText="小b笔顺 b:勹夕鱼鸟乌";       
 
	    tvItem.cchTextMax=100;                         //设置字符大小 
	    tvInsert.hParent=hRoot3;                       //设置父目录为hRoot 
	    tvInsert.item=tvItem; 
	    m_TreeCtrl.InsertItem(&tvInsert); 
	} 
//================================================================== 
	tvItem.pszText="树丫伸展散射类"; 
	tvItem.cchTextMax=14; 
	tvInsert.hParent=TVI_ROOT;                 //设置为根目录 
	tvInsert.hInsertAfter=TVI_LAST;     
	tvInsert.item=tvItem; 
	HTREEITEM hRoot4=m_TreeCtrl.InsertItem(&tvInsert);  //得到目录位置 
 
	for( i=0;i<7;i++) 
	{ 
		if(i==0) 
	    tvItem.pszText="人字架 A:人入火贝大天夭夫";   //设置显示字符 
		else if(i==1) 
        tvItem.pszText="__交叉 X:女丈夂攵久又";      
		else if(i==2) 
        tvItem.pszText="木字架 R:木未末耒";             
		else if(i==3) 
        tvItem.pszText="__鸡爪 Y:禾米不小";      
		else if(i==4) 
        tvItem.pszText="撇两横 Q:生牛午";      
		else if(i==5) 
        tvItem.pszText="一撇竖 T:";       
        else 
        tvItem.pszText="倾斜的 K:";       
 
	    tvItem.cchTextMax=100;                         //设置字符大小 
	    tvInsert.hParent=hRoot4;                       //设置父目录为hRoot 
	    tvInsert.item=tvItem; 
	    m_TreeCtrl.InsertItem(&tvInsert); 
	} 
//================================================================== 
	tvItem.pszText="卷曲相抱避光类"; 
	tvItem.cchTextMax=14; 
	tvInsert.hParent=TVI_ROOT;                 //设置为根目录 
	tvInsert.hInsertAfter=TVI_LAST;     
	tvInsert.item=tvItem; 
	HTREEITEM hRoot5=m_TreeCtrl.InsertItem(&tvInsert);  //得到目录位置 
 
	for( i=0;i<5;i++) 
	{ 
		if(i==0) 
	    tvItem.pszText="____锅盖 M:宀穴";   //设置显示字符 
		else if(i==1) 
        tvItem.pszText="____二胡 t:匕七乇毛";      
		else if(i==2) 
        tvItem.pszText="双手合抱 W:臼也乜";             
		else if(i==3) 
        tvItem.pszText="__卷曲虫 G:虫";      
        else 
        tvItem.pszText="__站一旁 P:";       
 
	    tvItem.cchTextMax=100;                         //设置字符大小 
	    tvInsert.hParent=hRoot5;                       //设置父目录为hRoot 
	    tvInsert.item=tvItem; 
	    m_TreeCtrl.InsertItem(&tvInsert); 
	} 
//================================================================== 
	tvItem.pszText="横竖交叉穿插类"; 
	tvItem.cchTextMax=14; 
	tvInsert.hParent=TVI_ROOT;                 //设置为根目录 
	tvInsert.hInsertAfter=TVI_LAST;     
	tvInsert.item=tvItem; 
	HTREEITEM hRoot6=m_TreeCtrl.InsertItem(&tvInsert);  //得到目录位置 
 
	for( i=0;i<4;i++) 
	{ 
		if(i==0) 
	    tvItem.pszText="去弯头 f:十";   //设置显示字符 
		else if(i==1) 
        tvItem.pszText="羊肉串 N:艹廾甘廿井卅世";      
		else if(i==2) 
        tvItem.pszText="两横竖 I:土士工干千";             
        else 
        tvItem.pszText="三横竖 U:王壬丰";       
 
	    tvItem.cchTextMax=100;                         //设置字符大小 
	    tvInsert.hParent=hRoot6;                       //设置父目录为hRoot 
	    tvInsert.item=tvItem; 
	    m_TreeCtrl.InsertItem(&tvInsert); 
	} 
//================================================================== 
	tvItem.pszText="环形方框周边类"; 
	tvItem.cchTextMax=14; 
	tvInsert.hParent=TVI_ROOT;                 //设置为根目录 
	tvInsert.hInsertAfter=TVI_LAST;     
	tvInsert.item=tvItem; 
	HTREEITEM hRoot7=m_TreeCtrl.InsertItem(&tvInsert);  //得到目录位置 
 
	for( i=0;i<8;i++) 
	{ 
		if(i==0) 
	    tvItem.pszText="旋转E形 E:山巾彐五正车";   //设置显示字符 
		else if(i==1) 
        tvItem.pszText="旋转U形 U:门冂凵匚";      
		else if(i==2) 
        tvItem.pszText="外翻n形 n:几九儿";             
		else if(i==3)  
        tvItem.pszText="框内空空 O:口囗";      
		else if(i==4) 
        tvItem.pszText="框内一横 K:日曰";      
		else if(i==5) 
        tvItem.pszText="框内两横 C:月用甫耳且目";       
		else if(i==6) 
        tvItem.pszText="框内十字 Q:甲由申田母毋";       
        else 
        tvItem.pszText="框内两竖 M:皿四";       
 
	    tvItem.cchTextMax=100;                         //设置字符大小 
	    tvInsert.hParent=hRoot7;                       //设置父目录为hRoot 
	    tvInsert.item=tvItem; 
	    m_TreeCtrl.InsertItem(&tvInsert); 
	}	 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
 
void ZlbDlg::OnSelchangedTreeZlb(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; 
	// TODO: Add your control notification handler code here 
	GetDlgItem(IDC_STATIC_Title)->SetWindowText("记忆要点:"); 
 
	char str[100]; 
	CTreeCtrl * pTree=(CTreeCtrl *)GetDlgItem(IDC_TREE_ZLB); 
	HTREEITEM pSelected=pNMTreeView->itemNew.hItem; 
	 
	TV_ITEM item; 
	item.mask=TVIF_HANDLE|TVIF_TEXT; 
	item.hItem=pSelected; 
	item.pszText=str; 
	item.cchTextMax=100; 
	VERIFY(pTree->GetItem(&item)); 
	if(strnicmp(str,"一点横",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"凡是一点一横开始的都用D表示,D可以看成是一个空心的点"); 
	else if(strnicmp(str,"两点旋",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"两点延长即为V,共四个方向,是一个标记"); 
	else if(strnicmp(str,"三个尖",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"三点对应W的三个顶点"); 
	else if(strnicmp(str,"四封顶",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"M上下各加一横“”即为封闭的四字形"); 
	else if(strnicmp(str,"__四封",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"M上下各加一横“”即为封闭的四字形"); 
	else if(strnicmp(str,"横的感",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"是一种横着的感觉,对应G中的一横"); 
	else if(strnicmp(str,"__横下",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"以横开始,横下垂吊向左下飘,好象风吹过来一样,F也是"); 
	else if(strnicmp(str,"竖的感",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"是一种竖着的感觉,H本身就是竖的感觉"); 
	else if(strnicmp(str,"撇的感",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"是一种撇的感觉,S拉直“S丿”就是撇"); 
	else if(strnicmp(str,"捺的感",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"是一种捺的感觉,对应R中的一捺"); 
	else if(strnicmp(str,"__左钩",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"是一种向左钩起的感觉,与J相同"); 
	else if(strnicmp(str,"__右弯",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"是一种向右弯向右提的感觉,与L相同"); 
	else if(strnicmp(str,"__横折",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"以横折开始,整体向左下飘,P的半园可以看成是横折"); 
	else if(strnicmp(str,"__撇折",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"笔画伸向左下抱回来,对应Z中的撇折"); 
	else if(strnicmp(str,"大B弯",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"笔画有两弯,与大写字母B上的两弯相一致"); 
	else if(strnicmp(str,"小b笔",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"起笔一画或两画与小写字母b的书写方向和轨迹相同"); 
	else if(strnicmp(str,"人字架",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"从上往下向两边分,呈人字架之形,字母A也是人字架"); 
	else if(strnicmp(str,"__交叉",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"是一种撇捺交叉的感觉,如字母X"); 
	else if(strnicmp(str,"木字架",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"木字伸展之形,用R表示"); 
	else if(strnicmp(str,"__鸡爪",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"是一种伸展之形,如鸡爪,Y的一竖向上伸出即为鸡爪“”"); 
	else if(strnicmp(str,"撇两横",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"均含一撇两横,Q可以变成一撇一横“”(Q)"); 
	else if(strnicmp(str,"一撇竖",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"以一撇一竖为骨架,用一横一竖的T表示"); 
	else if(strnicmp(str,"倾斜的",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"如倾斜的K向下俯视"); 
	else if(strnicmp(str,"____锅",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"像锅盖,M也像锅盖"); 
	else if(strnicmp(str,"____二",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"像二胡,也像小写字母t"); 
	else if(strnicmp(str,"双手",4)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"像双手合抱的样子,W也像双手合抱"); 
	else if(strnicmp(str,"__卷",4)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"字母G就像一只卷曲的虫,并且G与“虫”字也有一点像"); 
	else if(strnicmp(str,"__站",4)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"站在一旁发问的样子,与P很像"); 
	else if(strnicmp(str,"去弯",4)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"去掉小f弯曲的头就是“十”字"); 
	else if(strnicmp(str,"羊肉",4)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"一横相当于一根铁丝,两竖相当于两片羊肉,真像羊肉串"); 
	else if(strnicmp(str,"两横",4)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"都是两横一竖,字母I也是两横一竖"); 
	else if(strnicmp(str,"三横",4)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"三横或四横一竖,用U表示"); 
	else if(strnicmp(str,"旋转E",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"像旋转的E"); 
	else if(strnicmp(str,"旋转U",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"像旋转的U"); 
	else if(strnicmp(str,"外翻n",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"像小写字母n,边裙向外翻"); 
	else if(strnicmp(str,"框内空",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"框内没有任何东西,像字母O"); 
	else if(strnicmp(str,"框内一",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"框内有一横,用K表示"); 
	else if(strnicmp(str,"框内两横",8)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"框内有两横或三横,用C表示"); 
	else if(strnicmp(str,"框内十",6)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"框内有“十”字,外形像字母Q"); 
	else if(strnicmp(str,"框内两竖",8)==0) 
    SetDlgItemText(IDC_STATIC_SHOW,"框内有两竖,外形像四字形"); 
	else 
    SetDlgItemText(IDC_STATIC_SHOW,str); 
	 
	*pResult = 0; 
}