1、新建MFC应用程序。
2、在应用程序中,选择基于对话框,其他保持默认即可。
3、右击项目,选择添加-资源。
4、在添加资源对话框中,点击导入,选择要作为背景的图片。
5、在工具箱找到Picture控件,托到界面中。
6、在界面上点击选中Picture控件,然后在属性的Type下拉框中,选择Bitmap。
7、再在Picture控件的属性的Type下拉框中插入的图片资源,选择好后,图片就可以加载进对话框了。
8、运行程序,看到背景已经变成你设置的图片。
很简单:第一步:在向导中给你的树形控件关联一个CTreeCtrl的变量(就像你代码中的m_Mess)
第二步:在向导中,添加该树形控件的NM_Click消息(就是鼠标单击消息,以下假设函数名为OnClickTree)
第三步:在代码中添加你的数据(主要是在初始化树形控件的数据的函数中,如你代码中的OnInitDialog()就可以)
HTREEITEM hRoot = m_ctrlTree.InsertItem("北京")
m_ctrlTree.SetItemData(hRoot, 1)
HTREEITEM hChild = m_ctrlTree.InsertItem("朝阳区", hRoot)
m_ctrlTree.SetItemData(hChild, 2)
hChild = m_ctrlTree.InsertItem("海淀区", hRoot)
m_ctrlTree.SetItemData(hChild, 3)
注意:我在上面用了SetItemData函数,主要是给不同的节点添加不同的标记
,在下面的单击消息函数中就可以看出它的作用
第四步:在OnClickTree函数中添加鼠标单击消息响应代码
CPoint pt = GetCurrentMessage()->pt //获取当前鼠标点击消息的坐标点
m_ctrlTree.ScreenToClient(&pt) //将鼠标的屏幕坐标,转换成树形控件的客户区坐标
UINT uFlags = 0
HTREEITEM hItem = m_ctrlTree.HitTest(pt, &uFlags)//然后做点击测试
if ((hItem != NULL) &&(TVHT_ONITEM &uFlags))//如果点击的位置是在节点位置上面
{
m_ctrlTree.SelectItem(hItem)
//获取开始我们设置的数据,注意这就是我为什么开始要每个节点设置不同的数据的原因。当然,如果你的数据节点比较少,你也可以通过获取节点的文字,如上面设置的"海淀区",然后通过字符串比较来判断点击了哪个节点
int nDat = m_ctrlTree.GetItemData(hItem)
//然后根据不同的节点,你完成不同的动作即可
switch (nDat)
{
case 1:
AfxMessageBox("北京")
break
case 2:
AfxMessageBox("北京->朝阳区")
break
case 3:
AfxMessageBox("北京->海淀区")
break
default:
AfxMessageBox("ERROR")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)