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;
}