我做了一个MFC基于对话框的应用程序,其中有个树型控件,

我做了一个MFC基于对话框的应用程序,其中有个树型控件,我想当我双击其中某一项时,在一个编辑框中显示对所双击项的详细解释(是文本信息,希望能详细设置文本的颜色、字体、位置... 我做了一个MFC基于对话框的应用程序,其中有个树型控件,我想当我双击其中某一项时,在一个编辑框中显示对所双击项的详细解释(是文本信息,希望能详细设置文本的颜色、字体、位置,但不能对其中的内容作修改),该如何做呢?
乞颜兄弟的话专业性太强了,我不知道javascript控制指什么,也不知道什么是纯粹的html,更不知道W3C DOM 如何解决。
我是通过得到每一个 tree view 项的 HTREEITEM 然后通过编辑框的对象得到指向这个编辑框的CDC类的指针然后进行文本处理和输出,但是这样有一个问题是,这次显示的内容是把上一次的内容给覆盖了,如果上次的内容比这次的内容长,上次的内容依然存在。下面是在我的双击函数中的几句代码:
CDC *pDC=m_detalied_edit.GetDC();//m_detalied_edit是CEdit类的对象,通过类向导对应相应的编辑框控件增加
pDC->SetTextColor(RGB(128,0,128));
HTREEITEM m_hNetworkRoot=m_CtrlTree.GetSelectedItem( );
if(m_hNetworkRoot==hCountry0)
pDC->TextOut(0,0,"进行简单的计算");//如果文本很长,他不能自动换行,该如何换行呢?我在设置编辑框控件属性的时候已经选择了Multiline、Vertical scroll,同时还有Read-only.
else if(m_hNetworkRoot==hCountry1)
pDC->TextOut(0,0,"进行复杂的计算");
else
pDC->TextOut(0,0,"进行函数计算");
展开
 我来答
风落翎
2006-08-18 · TA获得超过502个赞
知道小有建树答主
回答量:1324
采纳率:0%
帮助的人:860万
展开全部
不是, 你的想法是正确的,但怎么用起GDI 绘图来了?!你以前都是这么弄吗?!
你那么做,这些问题是必然结果。

正确的做法:
设置文字就用CEdit::SetWindowText()就行,这个你会吧。
设置颜色:对话框处理WM_CTLCOLOR 消息。在其中加入代码

if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
pDC->SetTextColor(RGB(255,0,0));
}
其中IDC_EDIT1 为你的Edit的ID。 RGB() 中改为你想要的值。就可以了。

P.S. "我不知道javascript控制指什么,也不知道什么是纯粹的html,更不知道W3C DOM 如何解决。" 他说的是网页语言, 和MFC 没有关系。
llcg525
2006-08-15 · 超过22用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:66.1万
展开全部
兄台,你的树型控件编好了吗?前些天我也做了一个类似的程序,如果作好了,就在树控件中添加双击消息,把点击内容定义为字符串。至于要显示出来,就要在显示的地方定义字符串,调用。读取字符串用下面语句:
CString s( _T("abcdef") );
CString aaa=s.Mid( 2, 3 );
则aaa为"cde"。注意,Mid的第一个参数表示从第几个字符开始取,这里下标从0开始,第二个参数表示取几个字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乞彦
2006-08-15 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:121万
展开全部
看看W3C DOM 可以解决,我都没看到你的代码,不知道你是javascript控制的,还是其他的什么,或者是纯粹的html?叫我们怎么告诉你呢?对吧!:)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式