1. 怎样把edit控件的文本字体变大、变色,就是说如何改变该控件中字体大小、颜色?(异于同一对话框中的其它字体)
2. edit控件里的文本又怎样选定(高亮)的?分行(对于多行edit的人为分行)?或者把光标移到文本最后(输出时能紧接原文本)?
3. 同是edit控件,当选择了自动分行风格后,如何防止空格的自动分行?
4. 如何消除当edit控件获得焦点后,在编辑框里没文本的情况下,按回车键后对话框消失?另外,如何改变对话框的背景色?如果几个(假如不大的)对话框共用同一个过程函数是否为不良风格?谢谢了!

解决方案 »

  1.   

    问题好多阿,一个一个来
    1改变字体,用WM_SETFONT消息
    改变颜色WM_CTLCOLOREDIT
    2选定EM_SETSEL
    分行,插入\r\n
    3不明白什么意思
    4把原来的默认按钮的默认选项去掉,一般是ok按钮
      

  2.   

    谢谢 zqone(zqone) !  但“\r\n”不是消息,只是文本(字符串)里中用的。
      3的意思是当选择了自动分行风格后,在用SetWindowText()或SetDlgItemText()输出的字符串中若有空格符则控件会自动分行。
      4不行!之前我已试过了。这只会让edit获得开始时的焦点,但只要一按回车键对话框就消失了。而且还有更糟糕的是(或在输入文本时)击了空格键后对话框也会消失。我想——若edit里没有文本时些时对话框不能消失(我试过很多方法,然而在edit获得焦点后,按回车键后对话框最终还是消失)。谢谢了!
      

  3.   

    在WndProc()函数中加如下消息,edit获得焦点
    case WM_SETFOCUS:
      SetFocus(hEdit);
      break;
      

  4.   

    Sorry! 我并不是用窗口过程函数的!
      我可以令EDIT开始时获得焦点(光标),但无法在此情况下按回车键可以控制对话框不消失。谢谢跟贴!
      

  5.   

    4.在任何其他按钮上——ID不是IDOK,选中default button.
      

  6.   

    在用SetWindowText()或SetDlgItemText()输出的字符串中若有空格符则控件会自动分行。-------------------------3.那么就需要在输入的字符中进行判断,单单靠判断消息是没用的
      

  7.   

    demetry(智者橡木) :把default button去掉也没用啊!包括别人建议的都试过了。另外,如何改变对话框的背景色?如果几个(假如不大的)对话框共用同一个过程函数是否为不良风格?