2010-05-14 24 views
0

我在WINAPI中有三个关于编辑框控件的问题(我在msdn上找不到关于此的信息) 1.如何在编辑框中禁用鼠标,箭头,退格键移动键入光标?我想在命令行中输入命令行,但是退出。有关编辑框的三个问题?

  1. 我可以用红色写一些文字,而另一个用蓝色写?

  2. 如何从另一个线程写入编辑框控件?

回答

0
  1. 让它只读(ES_READONLY)&手动拦截按键和追加只有你想那些。
  2. 不,您需要使用RICHEDIT类,并使用RTF。 (你可以所有者绘制一个正常的编辑窗口,但不会有太大的乐趣)
  3. SendMessageWM_SETTEXT(或者EM_SETTEXTEX/EM_REPLACESEL如果您使用RICHEDIT

为什么不使用控制台?

+0

它必须在窗口中:/ 要回答1. - 是否有其他选项,而不是ES_READONLY并截取击键?我用我的语言问beacouse在键盘上有很多组合来制作variuos字符。 – piotrek 2010-05-14 12:16:34

+0

您可以拦截WM_CHAR并检查其值,并在适当时丢弃。 – 2010-05-14 12:31:29

+0

Thx。 我可以在RichEdit禁用鼠标选择吗? 我用此代码附加char: \t \t \t SendMessage(richEdit,EM_SETSEL, - 1,0); \t \t \t的SendMessage(RICHEDIT,EM_SETCHARFORMAT,SCF_SELECTION,(LPARAM)&cf); \t \t \t的SendMessage(RICHEDIT,EM_REPLACESEL,(WPARAM)0,(LPARAM)(LPSTR)MSG); \t 但是当我点击上的richedit鼠标此代码不起作用:/ – piotrek 2010-05-14 14:11:01