怎样改变EDIT的风格,
由星号变为普通,
由普通变为星号?

解决方案 »

  1.   

    SetWindowLong(..., ES_PASSWORD)
    If you have changed certain window data using SetWindowLong, you must call SetWindowPos to have the changes take effect. Use the following combination for uFlags: SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED. 
      

  2.   

    ConstantsES_AUTOHSCROLL 
    Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the ENTER key, the control scrolls all text back to position zero.ES_AUTOVSCROLL 
    Automatically scrolls text up one page when the user presses the ENTER key on the last line.ES_CENTER 
    Windows 98/Me, Windows 2000/XP: Centers text in a single-line or multiline edit control.
    Windows 95, Windows NT 4.0 and earlier: Centers text in a multiline edit control.
    ES_LEFT 
    Left aligns text.ES_LOWERCASE 
    Converts all characters to lowercase as they are typed into the edit control.
    To change this style after the control has been created, use SetWindowLong.
    ES_MULTILINE 
    Designates a multiline edit control. The default is single-line edit control. 
    When the multiline edit control is in a dialog box, the default response to pressing the ENTER key is to activate the default button. To use the ENTER key as a carriage return, use the ES_WANTRETURN style.When the multiline edit control is not in a dialog box and the ES_AUTOVSCROLL style is specified, the edit control shows as many lines as possible and scrolls vertically when the user presses the ENTER key. If you do not specify ES_AUTOVSCROLL, the edit control shows as many lines as possible and beeps if the user presses the ENTER key when no more lines can be displayed.If you specify the ES_AUTOHSCROLL style, the multiline edit control automatically scrolls horizontally when the caret goes past the right edge of the control. To start a new line, the user must press the ENTER key. If you do not specify ES_AUTOHSCROLL, the control automatically wraps words to the beginning of the next line when necessary. A new line is also started if the user presses the ENTER key. The window size determines the position of the Wordwrap. If the window size changes, the Wordwrapping position changes and the text is redisplayed.Multiline edit controls can have scroll bars. An edit control with scroll bars processes its own scroll bar messages. Note that edit controls without scroll bars scroll as described in the previous paragraphs and process any scroll messages sent by the parent window.
    ES_NOHIDESEL 
    Negates the default behavior for an edit control. The default behavior hides the selection when the control loses the input focus and inverts the selection when the control receives the input focus. If you specify ES_NOHIDESEL, the selected text is inverted, even if the control does not have the focus.ES_NUMBER 
    Allows only digits to be entered into the edit control. Note that, even with this set, it is still possible to paste non-digits into the edit control.
    To change this style after the control has been created, use SetWindowLong.
    ES_OEMCONVERT 
    Converts text entered in the edit control. The text is converted from the Windows character set to the OEM character set and then back to the Windows character set. This ensures proper character conversion when the application calls the CharToOem function to convert a Windows string in the edit control to OEM characters. This style is most useful for edit controls that contain file names. 
    To change this style after the control has been created, use SetWindowLong. 
    ES_PASSWORD 
    Displays an asterisk (*) for each character typed into the edit control. This style is valid only for single-line edit controls. 
    Windows XP: If the edit control is from user32.dll, the default password character is an asterisk. However, if the edit control is from comctl32.dll version 6, the default character is a black circle. To change the characters that is displayed, or set or clear this style, use the EM_SETPASSWORDCHAR message. Note  Comctl32.dll version 6 is not redistributable but it is included in Microsoft Windows XP or later. To use Comctl32.dll version 6, specify it in a manifest. For more information on manifests, see Using Windows XP Visual Styles.ES_READONLY 
    Prevents the user from typing or editing text in the edit control.
    To change this style after the control has been created, use the EM_SETREADONLY message. 
    ES_RIGHT 
    Windows 98/Me, Windows 2000/XP: Right aligns text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Right aligns text in a multiline edit control.ES_UPPERCASE 
    Converts all characters to uppercase as they are typed into the edit control. 
    To change this style after the control has been created, use SetWindowLong.
    ES_WANTRETURN 
    Specifies that a carriage return be inserted when the user presses the ENTER key while entering text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control. 
    To change this style after the control has been created, use SetWindowLong.
      

  3.   

    lResult = SendMessage(      // returns LRESULT in lResult     (HWND) hWndControl,      // handle to destination control     (UINT) EM_SETPASSWORDCHAR,      // message ID     (WPARAM) wParam,      // = (WPARAM) () wParam;    (LPARAM) lParam      // = 0; not used, must be zero );  
    HWND hwnd=(HWND)GetDlgItem(ID_XXX);
    SendMessage(hwnd,EM_SETPASSWORDCHAR,(WPARAM)wParam,0);