📄 subject_60264.htm
字号:
<p>
序号:60264 发表者:卫 发表日期:2003-11-12 15:32:25
<br>主题:编缉框的消息响应函数?
<br>内容:我给对话框内的一个编缉框增加了一个消息响应函数(EN_CHANGE消息,当内容改变时响应),用断点调试时,发现该函数竟在OnInitDialog()前就已响应,因此运行结果就变了,是不是弄错了消息响应函数?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:bottle_fish 回复日期:2003-11-12 15:41:08
<br>内容:EN_UPDATE<BR>The EN_UPDATE notification message is sent when an edit control is about to display altered text. This notification message is sent after the control has formatted the text, but before it displays the text. This makes it possible to resize the edit control window, if necessary. The parent window of the edit control receives this notification message through the WM_COMMAND message. <BR><BR>EN_UPDATE <BR>idEditCtrl = (int) LOWORD(wParam); // identifier of edit control <BR>hwndEditCtrl = (HWND) lParam; // handle of edit control <BR> <BR>—<BR>EN_CHANGE<BR>The EN_CHANGE notification message is sent when the user has taken an action that may have altered text in an edit control. Unlike the EN_UPDATE notification message, this notification message is sent after the system updates the screen. The parent window of the edit control receives this notification message through the WM_COMMAND message. <BR><BR>EN_CHANGE <BR>idEditCtrl = (int) LOWORD(wParam); // identifier of edit control <BR>hwndEditCtrl = (HWND) lParam; // handle of edit control <BR> <BR>test
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:卫 回复日期:2003-11-12 15:49:45
<br>内容:那当编缉框内容发生改变时,应该用什么响应函数呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-12 16:11:01
<br>内容:怎么会在OnInitDialog()之前调用呢,我也用过EN_CHANGE这个消息,但只在编辑框发生改变时触发,你看看你的OnInitDialog()、DoDataExchange(...)、或构造函数中对这个编辑框有没有其它操作
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:卫 回复日期:2003-11-12 16:20:34
<br>内容:没有进行其它操作啊?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:曾经勇敢的心 回复日期:2003-11-12 16:29:02
<br>内容:看看程序?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:卫 回复日期:2003-11-12 16:32:54
<br>内容:程序很大,不好贴
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:曾经勇敢的心 回复日期:2003-11-12 16:34:55
<br>内容:我愣,不能给个或者自己重写个小的么?<BR>那我们怎么知道?<BR>你自己想想办法好了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:巴拉克 回复日期:2003-11-12 16:41:50
<br>内容:你用查找,看看有多少个EN_CHANGE,都在那里调用
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-12 17:12:58
<br>内容:把EN_CHANGE的消息处理函数删除了,重新重载它
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:lixiaofei 回复日期:2003-11-13 22:51:17
<br>内容:猜想是因为在构造函数中有m_Edit=_T("")或是m_Var=0这个时候就发生了EN_CHANGE事件了(VC好像默认在EditBox中设置了字符串的值"EditBox"),而这是在OnInitDialog之前发生的,对编辑框重新赋值会发生这个事件,而不止是在OnChar或是OnKeyDown等中
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:卫 回复日期:2003-11-14 10:25:42
<br>内容:程序中设了三个断点,运行时先进构造函数,再是EN_CHANGE响应函数,最后是OnInitDialog()。<BR>我还以为OnInitDialog()是运行在构造函数之前的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -