2010-10-06 3 views
1

J'ai le contrôle CEdit et je ne veux pas que le texte soit sélectionné par défaut. J'ai essayé d'utiliserSupprimer la sélection du texte initialisé (Désélectionner) dans le contrôle CEdit

m_txtURL.SetSel(-1, 0, TRUE); 

pour supprimer la sélection, mais en vain. quelqu'un peut-il suggérer un moyen d'y parvenir?

J'ai essayé de sélectionner certains caractères en utilisant le codage suivant. Cela aussi n'a pas fonctionné.

m_txtURL.SetSel(-1, 0, TRUE); 

Quelqu'un peut-il me dire quel pourrait être le problème?

Répondre

3

Maintenant, je suis en mesure de désélectionner le texte dans le contrôle d'édition. Le contrôle d'édition, que j'utilise, est le premier contrôle de la boîte de dialogue. Par défaut, le premier contrôle de la boîte de dialogue a été mis en évidence. De developers' reference:

Si OnInitDialog retourne non nulle, Windows définit la mise au point d'entrée au premier contrôle dans la boîte de dialogue. L'application peut renvoyer 0 uniquement si a explicitement défini le focus d'entrée sur l'un des contrôles de la boîte de dialogue.

Non ce que je l'ai fait est:

BOOL CIegSettingsDlg::OnInitDialog() 
{ 
    CDialog::OnInitDialog(); 


    return FALSE; // return TRUE unless you set the focus to a control 
} 

En cela, nous indique la boîte de dialogue qui, nous prendrions soin de focaliser un contrôle.

0

La question est pourquoi votre texte est-il sélectionné par défaut?

  • sous-classer en utilisant DDX_Control(pDX, IDC_EDIT1, m_txtURL)
  • définir le texte m_txtURL.SetWindowText(_T("just some text")) dans OnInitDialog

Rien ne doit être sélectionné.

Questions connexes