问题标签 [cedit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
53 浏览

c++ - 如何捕捉 EM_SHOWBALLOONTIP CEdit 消息?

我正在尝试在函数中捕获CEdit EM_SHOWBALLOONTIP消息。PreTranslateMessage有人可以告诉我该怎么做吗?谢谢你

0 投票
1 回答
40 浏览

winapi - MFC:如何保存和恢复 CEditView 滚动位置以便正确滚动内容?

需要为选项卡控件做一个工作,我想保存然后恢复CEditView内容。我所做的如下所示,当滚动条和位置回到正确的位置时,编辑控件的实际内容不会滚动(它在左上角,就像它从未滚动过一样)。我试过RedrawWindow()了,没有用。我一直主要处理水平滚动条,我只需单击水平条,内容就会跳转到它应该在的位置。

我错过了什么或者让它发挥作用的诀窍是什么?

蒂亚!!

0 投票
0 回答
49 浏览

c++ - MFC:动态创建的 CEdit 没有动画并且不会改变外观

有谁知道为什么我动态创建的 CEdit 不像在对话框编辑器中创建的 CEdit 控件那样设置动画?

将光标悬停在控件上时,框架的颜色不会改变(在正常情况下,灰色会略有变化) - 选中时,框架的颜色也不会改变(应该是蓝色)。

这是它通常看起来的示例: 聚焦时的蓝色边框

这是我的 CEdit 控件的截图: 我的 CEdit 控件(没有发生任何事情)

我的目标是根据具体情况添加看起来与原始控件完全相同的动态 CEdit 控件(例如大小、外观、行为......)。我已经尝试了一些事情,但找不到该死的原因。

有人可以帮我弄这个吗?

0 投票
1 回答
40 浏览

mfc - MFC,是否有任何方便的方法可以在其成员函数中获取编辑框的内容?

我正在通过继承CEdit基于 MFC 的新类来自定义编辑框。我想在它的成员函数中访问它的内容(文本)。我想知道是否有比调用 public 函数更方便/更安全/更快的方式来读写字符串GetWindowText()

0 投票
1 回答
59 浏览

c++ - 在对话框中挂钩 EN_CHANGE 以继承 CEDIT

我有自己的 CEDIT 子类,如下所示:

我通过 在这个子类中挂钩并在DoDataExchange程序中对它进行子类化DDX_controlON_CHARON_CHANGE (MyEdit::OnChar, MyEdit::OnChange).

我在父对话框中也需要钩子ON_CHANGE事件,但是使用子类它不起作用。

这里有某种方式如何手动从 MyEdit::OnChange消息发送到对话框?

0 投票
0 回答
64 浏览

c++ - 如果使用 DDX_Text,则来自 CEdit 值验证的用户子类类

我有自己的类(CMyEdit)从CEdit自己的验证过程中继承。

我挂钩事件ON_CHARON_UPDATE验证用户输入。

如果输入有效,CMyEdit::isOk则属性切换为trueCMyEdit在每次更改 EditBox 内容期间确认有效性。

对话可以通过 确认有效性CMyEdit::isOk

我已经覆盖CEdit::SetWindowText()

但是如果 dialog 使用DDX_Text,则没有方法正在运行(也没有EN_CHANGE,也没有SetWindowText).

同样的问题是,当用户从剪贴板 ( WM_PASTE) 中输入值时。

如何挂钩编辑框内容的这种变化?

0 投票
0 回答
52 浏览

fonts - CEdit SetFont 总是创建一个 GDI HFONT 句柄,即使是共享字体

在我们的 C++/MFC MDI 应用程序中,每个 MDI 客户端窗口都包含一个基于 CDialog 的窗体,该窗体可以包含非常多的控件,甚至数百个。我们注意到我们用完 GDI 句柄的速度相对较快(Windows 限制为每个进程 10000 个)。

主要问题是我们在几乎每个控件上设置的字体。通常具有相同属性的字体用于多个控件,例如 Arial 11,因此我们现在共享字体,并带有内部引用计数。

这有所帮助,但是 CEdit 的行为与其他控件不同。将相同的共享字体句柄传递给多个 CEdit 时,每个 CEdit 的 GDI 句柄数仍会增加 1。

m_font 是一个共享的 CFont 实例并声明为 CDialog 成员。

在每次迭代中,即使将相同的字体实例传递给 SetFont,dwCount 也会增加。好像 CEdit 创建了字体的影子副本。

甚至 pEdit->SetFont(NULL) 也会增加 gdi 句柄的数量!

使用其他控件类型,例如 CStatic,一切都很好。

它也与 comctl32.dll 的版本有关,使用 6.0 版本时行为可重现:

如果省略该行,则使用 comctl32.dll 5.8,句柄数不会增加。

我们有机会解决这个问题吗?

0 投票
0 回答
38 浏览

c++ - 如何拒绝退出 CEdit

我已将 CEdit 类(CMyEdit)子类化,并且我正在通过 ON_CHAR 消息不断验证用户输入。ON_CHAR 过程将 CMyEdit.isOK 成员变量设置为 true 或 false。当值不正确(.isOk = false)时,有什么方法可以拒绝退出编辑框?我不想让用户例如转到其他编辑框或其他对话框。

谢谢。

0 投票
1 回答
63 浏览

c++ - 从子类控件 (CEDIT) 向父窗口发送消息

我对CEdit控件 ( CCheckeEdit) 进行了子类化。

我需要捕捉ON_CHANGE这个类并将消息发送到对话框(EN_CHANGE也可以在对话框中捕捉)。

在 subclassedCCheckeEdit中,我遵循了钩子程序:

在对话框中我有:

CProjMfcDlg::OnEnChangeEdit()不会处理(我在那里有断点)。

我究竟做错了什么?

OnEnChange上述程序是完整的。是的,我使用 MFC 反射:

0 投票
0 回答
59 浏览

c++ - MFC:如何在 CEdit 中添加清除按钮?

我需要在CEdit控件中添加一个清除按钮,如下所示:

在此处输入图像描述

我使用CMFCEditBrowseCtrl了,如本文所述: MFC Feature Pack -CMFCEditBrowseCtrl

但问题是它在高像素密度的显示器上显示一个非常小的图标:

在此处输入图像描述

我试图设置一个大图标,但按钮仍然很窄:

在此处输入图像描述

你能建议一些解决方案吗?