文本框的问题

tangculiji 2008-03-26 01:59:07
在文本框中首先我赋值为“abc”,然后运行程序,在显示的文本框里,字体自动被蓝色覆盖,且光标的位置在最前面,

现在我想程序运行后字体不被蓝色覆盖,且光标在文字的最后面,不知道有没有这种函数,还是在文本框的属性里面选择什么设定呢?

...全文
88 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cytlyy 2008-04-07
  • 打赏
  • 举报
回复
方法:在OnInitDialog()函数中,先将返回值“TRUE”,改为“FALSE”,调用你所定义Edit控件的
SetFocus()方法,使控件得到光标,然后再调用SetSel(length,lenth,True)方法设置光标在文本框中的位置,其中
length是文本框中文本的长度,利用楼上所说的 GetWindowTextLength()方法获得。这样就OK了!
gebifangjian 2008-04-07
  • 打赏
  • 举报
回复
SetFocus()/SetSel()
无聊客 2008-04-01
  • 打赏
  • 举报
回复
This message selects a range of characters in an edit control.

EM_SETSEL
wParam = (WPARAM)(INT) nStart;
lParam = (LPARAM)(INT) nEnd;
Parameters
nStart
Specifies the starting character position of the selection.
nEnd
Specifies the ending character position of the selection.
Return Values
None.

Remarks
If the nStart parameter is 0 and the nEnd parameter is –1, all the text in the edit control is selected. If nStart is –1, any current selection is removed. The caret is placed at the end of the selection indicated by the greater of the two values nEnd and nStart.
无聊客 2008-04-01
  • 打赏
  • 举报
回复
GetWindowTextLength获取文本长度
然后通过EM_SETSEL设置光标位置
tangculiji 2008-03-28
  • 打赏
  • 举报
回复
现在没有覆盖蓝色了,但是有个问题:就是我首先给字符串赋值为“abc”,
然后运行程序显示出来,这时候光标总是停留在文本的最前端,即停在字幕a的前面,
我想让程序一运行光标就出现在文本的最后面,请问有什么方法?在线等
小李匪盗 2008-03-27
  • 打赏
  • 举报
回复
用CEdit的SetSel和SetFocus来实现。
guguqiaqia 2008-03-26
  • 打赏
  • 举报
回复
发送一个VK_RIGHT的模拟右按键动作。

tangculiji 2008-03-26
  • 打赏
  • 举报
回复
是这样,我用
以下代码:
CElooDlg dlg;
dlg.str = "abc";
dlg.DoModal();
给编辑框里写入“abc”,运行后在编辑框里显示了abc,但是abc是被蓝色覆盖。
我想在运行结果出来的时候显示正常字,不是被蓝色覆盖,请问有什么方法?谢谢
guguqiaqia 2008-03-26
  • 打赏
  • 举报
回复
UpdateData(FALSE)更新到控件,试验一下

UpdateWindow(TRUE);更新到变量

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧