首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMFCPropertyGridProperty和CEdit文本自动选择

CMFCPropertyGridProperty和CEdit文本自动选择
EN

Stack Overflow用户
提问于 2012-01-12 08:15:51
回答 1查看 1.5K关注 0票数 0

我所读到的这里 (当用户选择一个编辑控件,.并通过使用反向视频突出显示它的文本),如果我理解正确,CEdit应该突出显示(我希望它是相同的)文本时,我点击它。

我将CMFCPropertyGridCtrl与CMFCPropertyGridProperty结合使用。但是当我点击网格(一个属性值)时,它不会选择任何东西。

我发现:属性在内部创建CEdit,用于手动编辑属性值。它被创建,它的字体被设置等等。然后调用SetFocus,在那个UpdateWindow之后-这个重新绘制编辑框和设置光标在第一个字符之前。在此之后,鼠标单击再次引起点击编辑框-这似乎是正确的。但是没有选择文本。

我还尝试创建自己的property类,它是从CMFCPropertyGridProperty派生的。在这一切之后,我给SetSel打了电话。它确实选择了我的文本,但它只是取消了它(在下一次重绘)。我还实现的是,在重绘后,只选择了从开始到鼠标单击的文本(当我单击第4个字符后,只选择了前4个字符)。

我的问题:

CEdit真的应该在鼠标第一次点击后选择自动文本吗?(你有什么资源吗?)

你不知道,为什么这在CMFCPropertyGridProperty不起作用?

CMFCPropertyGridCtrl和CMFCPropertyGridProperty可以在mfc源代码目录的afxpropertygridctrl.h tygridctrl.h/..cpp中找到。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-13 09:15:57

所以我终于发现:

CEdit可能不会在点击文本后选择文本。这必须通过手动完成,例如SetSel函数。

但在CMFCPropertyGridCtrl中,如果单击,则会将其传递给CMFCPropertyGridProperty,然后单击“重复”。因此,如果我使用SetSel,它会取消文本的选择。因此,我不得不编写自己的类,它继承了CMFCPropertyGridProperty并跳过了这个步骤(再次单击)。它已经足够SetFocus和SetSel (这也将光标设置为CEdit窗口)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8831867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档