(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 timeM_PwEdit. SetWindowText (_T (" please enter the password "));
CodePudding user response:
CEdit: : SetCueBannerCodePudding 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