用Create创建一个CEdit,不想让它可以输入,只能在程序中用SetWindowText赋值,请问有没有这样的属性

解决方案 »

  1.   

    ReadOnly不就行了?  
    EnableWindow(FALSE);
      

  2.   

    WS_DISABLED,看看这个CEDIT就支持这几个属性
    WS_CHILD   Always 
    WS_VISIBLE   Usually 
    WS_DISABLED   Rarely 
    WS_GROUP   To group controls 
    WS_TABSTOP   To include edit control in the tabbing order 
      

  3.   

    还有下面这么多哦。编辑风格· ES_AUTOHSCROLL 当用户在行尾输入字符时,自动将文本向右滚动10个字符。当用户按下ENTER键时,控件将文本滚动回起始位置。  
    · ES_AUTOVSCROLL 当用户在最后一行输入ENTER时,自动将文本向上滚动一页。  
    · ES_CENTER 在单行或多行编辑控件中将文本对中。  
    · ES_LEFT 在单行或多行编辑控件中将文本靠左对齐。  
    · ES_LOWERCASE 将用户输入到编辑控件的字符全部转换为小写。  
    · ES_MULTILINE 指明了一个多行编辑控件(缺省的是单行的)。如果指定了ES_AUTOVSCROLL风格,编辑控件将显示尽可能多的文本,并且当用户按下ENTER键时会自动地垂直滚动文本。如果没有指定ES_AUTOVSCROLL风格,则编辑控件将显示尽可能多的行,如果在按下ENTER键却没有更多的行要显示的话,就发出蜂鸣声。如果指定了ES_AUTOHSCROLL风格,当光标到达控件的右边时,多行编辑控件会自动地水平滚动文本。如果要开始一个新行,用户必须按下ENTER键。如果没有指定ES_AUTOHSCROLL风格,控件会在有必要时自动将单词折合到下一行的开始。如果按下ENTER键,则另起一行。折回单词的位置是由窗口的大小决定的。如果窗口的大小发生改变,折回单词的位置也会反生改变,将会重新显示文本。多行编辑控件可以有滚动条。具有滚动条的编辑控件会处理它自己的滚动条消息。没有滚动条的编辑控件按照前面描述的方式进行滚动,并且处理父窗口发出的任何滚动消息。  
    · ES_NOHIDESEL 通常,当编辑控件失去输入焦点时,它会隐藏选择区域,当它获得输入焦点时,它会反转显示选择区域。如果指定了ES_NOHIDESEL风格则去掉了这个缺省的动作。  
    · ES_OEMCONVERT 输入到编辑控件的文本将被从ANSI字符集转换到OEM字符集,然后转换回ANSI字符集。这使得在应用程序调用Windows的AnsiToOem函数以把编辑控件中的ANSI字符串转换为OEM字符时,能够进行正确的字符转换。这个风格对包含文件名的编辑控件最有用。  
    · ES_PASSWORD 在编辑控件中输入字符时,将所有的字符显示为星号(*)。应用程序可以通过SetPasswordChar成员函数来改变显示的字符。  
    · ES_RIGHT 在单行或多行编辑控件中将文本靠右对齐。  
    · ES_UPPERCASE 在编辑控件中输入字符时,将所有的字符转换为大写。  
    · ES_READONLY 禁止用户输入或修改编辑控件中的文本。  
    · ES_WANTRETURN 指定当用户在对话框中的多行编辑控件中输入文本时,如果按下了ENTER键,则插入回车换行符。如果不使用这个风格,按下ENTER键的效果与按下对话框的缺省按钮相同。这个风格对单行编辑控件不起作用。 
      

  4.   

    补充一下,Creat时就用2楼的方法如果程序中还要改这个属性就用CEdit::SetReadOnly这个函数就行了
      

  5.   

    哦,我只是把MSDN中的属性拷贝了上来,呵呵,被BS了
      

  6.   

    我也只是把MFC参考手册上的属性拷贝过来而已,彼此彼此