首页 新闻 会员 周边 捐助

win32 api 如何刷新一个Edit控件的文本缓冲区

0
悬赏园豆:200 [已解决问题] 解决于 2013-04-18 17:55

win32  api  如何刷新一个Edit控件的文本缓冲区。不是MFC

问题补充:

问题详细:鄙人使用CreateWindow()函数创建了一个Edit子窗口控件,它具有ES_MULTILINE | ES_AUTOVSCROLL等属性。现在做如下流程:在这个子窗口控件中先输入几个文字,点击回车按钮,然后将该控件的内容设置为“”,问题出现了:此时光标出现在第二行的行首,但我需要的是光标出现在第一行行首。新手,渴望得到前辈们的指导!谢谢!

线木偶的主页 线木偶 | 初学一级 | 园豆:8
提问于:2013-04-15 22:40
< >
分享
最佳答案
0

不太明白你的问题,你是要修改Edit控件中的文本内容吗?

收获园豆:200
I,Robot | 大侠五级 |园豆:9783 | 2013-04-16 01:23

鄙人使用CreateWindow()函数创建了一个Edit子窗口控件,它具有ES_MULTILINE | ES_AUTOVSCROLL等属性。现在做如下流程:在这个子窗口控件中先输入几个文字,点击回车按钮,然后将该控件的内容设置为“”,问题出现了:此时光标出现在第二行的行首,但我需要的是光标出现在第一行行首。新手,渴望得到前辈们的指导!谢谢!

线木偶 | 园豆:8 (初学一级) | 2013-04-16 08:55

@线木偶: 相当于是想把回车键当退格键用吗?

I,Robot | 园豆:9783 (大侠五级) | 2013-04-16 11:15

@线木偶: 也不对啊,如果按回车就把内容置为空,为什么还要设置允许多行呢?

I,Robot | 园豆:9783 (大侠五级) | 2013-04-16 11:21

@Rainier-Soft.Com: 简单点说就是现在要怎么把光标定位到第一行第一列。

线木偶 | 园豆:8 (初学一级) | 2013-04-16 12:12

@线木偶:给这个控件发送键盘消息,按键为左方向键,应该就OK了。 

I,Robot | 园豆:9783 (大侠五级) | 2013-04-16 13:19

@Rainier-Soft.Com: 我试过:SendMessage(hwnd,VK_HOME,wParam,lParam);

SendMessage(hwnd,VK_LEFT,wParam,lParam)这两个消息,但均没有成功。您能留个邮箱吗?我把源码发给你下。你要是有时间就麻烦您帮我看下。我都弄了好几天了。还没弄出来,但又急着要

线木偶 | 园豆:8 (初学一级) | 2013-04-16 20:17

@线木偶: 用PostMessage吧

PostMessage(hwnd,0x100,37,0);

 
[DllImport("user32.dll", CharSet = CharSet.Ansi)]
public static extern IntPtr PostMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); 

I,Robot | 园豆:9783 (大侠五级) | 2013-04-17 11:54

@Rainier-Soft.Com: 额,这个函数这么用是什么意思呢?能不能说详细点。拜托了

线木偶 | 园豆:8 (初学一级) | 2013-04-17 12:36

@线木偶: 你可以搜索一下,网络上应该有很多这个API相关的资料。

I,Robot | 园豆:9783 (大侠五级) | 2013-04-17 12:50

@Rainier-Soft.Com: 非常感谢您!终于解决了,感谢!PostMessage(hwnd,0x100,37,0);
我想知道,0X100,37,0,这几个数字分别代表什么意思你?为什么SendMessage不行呢?

线木偶 | 园豆:8 (初学一级) | 2013-04-18 09:19

@线木偶: PostMessage和SendMessage具体哪里不同,我也没去仔细研究,这几个参数分别代表的是消息类型,消息值,后面一个是没有意义的参数。

0x100表示消息是键盘按下事件。

37表示是左方向键。

给你些链接参考一下吧

http://msdn.microsoft.com/en-us/library/windows/desktop/ms644944(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/ms644927(v=vs.85).aspx#system_defined

http://msdn.microsoft.com/en-us/library/windows/desktop/ms646280(v=vs.85).aspx

I,Robot | 园豆:9783 (大侠五级) | 2013-04-18 12:06

@Rainier-Soft.Com: 谢谢!

线木偶 | 园豆:8 (初学一级) | 2013-04-18 16:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册