Home > Software engineering >  VS2010, Edit contrl controls, add hint word to Edit box/text box
VS2010, Edit contrl controls, add hint word to Edit box/text box

Time:09-21

Is that the mouse into the text box, no text display, display shows when they leave the default text,
(such as QQ login in the text box "user name", "password", does not affect the input prompt words)

I find solutions,
To Edit controls add two events:
ON_EN_SETFOCUS (gain)
Lost ON_EN_KILLFOCUS (focus)

To control after adding the event, in the event operating space to add word set,

Code:
Void CATCmdTestDlg: : OnEnKillfocusEtCmdParam ()
{
//mouse left the dialog box, shows the default prompt
Met_cmdParam. SetWindowTextW (_T (" command parameters, if not set, then use the default parameters "));
}

Void CATCmdTestDlg: : OnEnSetfocusEtCmdParam ()
{
//mouse on the dialog box, the default display disappear
Met_cmdParam. SetWindowTextW (_T (" "));
}

(http://blog.csdn.net/kekeleqy/article/details/52514085)

Has made the effect, but there are still problems:
During the compilation of the interface is no prompt words at the beginning, when click the other dialog box to display

I want to effect is compiled with prompt words, when click the dialog text disappeared,
Q: how can I improve?

CodePudding user response:

Initialization time
M_PwEdit. SetWindowText (_T (" please enter the password "));

CodePudding user response:

CEdit: : SetCueBanner

CodePudding user response:

In the OnInitialDlg met_cmdParam SetWindowTextW (_T (" command parameters, if not set, then use the default parameters "));

CodePudding user response:

 # pragma once 


//CSymbolEdit

The class CSymbolEdit: public CEdit
{
DECLARE_DYNAMIC (CSymbolEdit)

CFont m_fontPrompt;
HICON m_hSymbolIcon;
Bool m_bInternalIcon;
Cstrings m_strPromptText;
COLORREF m_colorPromptText;

Void DestroyIcon ();

Public:
CSymbolEdit ();
Virtual ~ CSymbolEdit ();

Void SetSymbolIcon (HICON HICON, BOOL redraw=TRUE).
Void SetSymbolIcon (UINT id, BOOL redraw=TRUE).

Void SetPromptText (cstrings text, BOOL redraw=TRUE).
Void SetPromptText (LPCTSTR szText, BOOL redraw=TRUE).

Void SetPromptTextColor (a COLORREF color, BOOL redraw=TRUE).

Void SetPromptFont (CFont& The font, BOOL redraw=TRUE);
Void SetPromptFont (const LOGFONT * lpLogFont, BOOL redraw=TRUE).

Protected:
Void RecalcLayout ();
Virtual void PreSubclassWindow ();

Cx, afx_msg void OnSize (UINT nType, int int cy);
Afx_msg LRESULT OnSetFont (WPARAM WPARAM, LPARAM LPARAM);

DECLARE_MESSAGE_MAP ()

Public:
Afx_msg void OnPaint ();
};


 # include "stdafx. H" 
# include "SymbolEdit. H"

//CSymbolEdit

IMPLEMENT_DYNAMIC (CSymbolEdit CEdit)

CSymbolEdit: : CSymbolEdit () :
M_hSymbolIcon (NULL),
M_bInternalIcon (false),
M_colorPromptText (RGB (127127127))
{
M_fontPrompt. CreateFont (
16,//nHeight
0,//nWidth
0,//nEscapement
0,//nOrientation
FW_NORMAL,//nWeight
TRUE,//bItalic
FALSE,//bUnderline
0,//cStrikeOut
DEFAULT_CHARSET,//nCharSet
OUT_DEFAULT_PRECIS,//nOutPrecision
CLIP_DEFAULT_PRECIS,//nClipPrecision
DEFAULT_QUALITY,//nQuality
DEFAULT_PITCH | FF_SWISS,//nPitchAndFamily
_T (" Calibri "));
}

CSymbolEdit: : ~ CSymbolEdit ()
{
DestroyIcon ();
}


BEGIN_MESSAGE_MAP (CSymbolEdit CEdit)
ON_WM_PAINT ()
ON_MESSAGE (WM_SETFONT OnSetFont)
END_MESSAGE_MAP ()

Void CSymbolEdit: : DestroyIcon ()
{
//if the icon was the loaded internally, destroy it
If (m_bInternalIcon | | m_hSymbolIcon!=NULL)
: : DestroyIcon (m_hSymbolIcon);
}

Void CSymbolEdit: : PreSubclassWindow ()
{
RecalcLayout ();
}

Void CSymbolEdit: : SetSymbolIcon (HICON HICON, BOOL redraw)
{
DestroyIcon ();

M_hSymbolIcon=hIcon;

//icon was not the loaded internally
M_bInternalIcon=false;

RecalcLayout ();

If (redraw)
Invalidate (TRUE);
}

Void CSymbolEdit: : SetSymbolIcon (UINT id, BOOL redraw)
{
DestroyIcon ();

M_hSymbolIcon=(HICON) : : LoadImage (
AfxGetResourceHandle (),
MAKEINTRESOURCE (id),
IMAGE_ICON,
16,
16,
LR_DEFAULTCOLOR | LR_LOADTRANSPARENT);

ASSERT (m_hSymbolIcon!=NULL);

//icon was the loaded internally
M_bInternalIcon=true;

RecalcLayout ();

If (redraw)
Invalidate (TRUE);
}

Void CSymbolEdit: : SetPromptText (cstrings text, BOOL redraw)
{
M_strPromptText=text;

If (redraw)
Invalidate (TRUE);
}

Void CSymbolEdit: : SetPromptText (LPCTSTR szText, BOOL redraw)
{
M_strPromptText=szText;

If (redraw)
Invalidate (TRUE);
}

Void CSymbolEdit: : SetPromptTextColor (a COLORREF color, BOOL redraw)
{
M_colorPromptText=color;

If (redraw)
Invalidate (TRUE);
}

Void CSymbolEdit: : SetPromptFont (CFont& nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull