2010-06-23 7 views
0

Je fais le programme de la calculatrice en utilisant l'application vC++/MFC basée sur les boîtes de dialogue. Dans une boîte de dialogue, j'ai ajouté un contrôle de texte d'édition et un bouton-poussoir. Je dois donc modifier/ajouter le texte de la boîte de contrôle d'édition dans cette boîte de dialogue lorsque je clique sur le bouton dans la boîte de dialogue. Pour afficher le texte, utilisez les méthodes Setsel() et ReplaceSel() dans la méthode ButtonClicked, mais cela ne fonctionne pas.Comment modifier/ajouter le texte de la boîte de contrôle d'édition dans cette boîte de dialogue lorsque j'ai appuyé sur le bouton dans la boîte de dialogue

Indiquez la partie pertinente de votre code et reportez-vous à la section relative à l'incident.

Basu

+2

D'où avez-vous coupé et collé cette question? Que diriez-vous "Montrez la partie pertinente de votre code" afin que nous puissions dire ce que vous faites mal? – Goz

Répondre

6

Si tout ce que vous voulez faire est d'afficher un texte dans un contrôle CEdit alors pourquoi ne pas utiliser sa fonction SetWindowText?

Le paragraphe suivant remplace le contenu en utilisant votre SetSel/méthode replaceSel:

void CTextCtrlAddDlg::OnBnClickedButton1() 
{ 
    int start = 0; 
    int end = m_editControl.GetWindowTextLength(); 
    m_editControl.SetSel(start, end); 
    m_editControl.ReplaceSel(L"Test"); 
} 

... où m_editControl est le contrôle d'édition. Si vous voulez ajouter le texte à la fin, définissez simplement la sélection à la fin:

void CTextCtrlAddDlg::OnBnClickedButton1() 
{ 
    int end = m_editControl.GetWindowTextLength(); 
    m_editControl.SetSel(end, end); 
    m_editControl.ReplaceSel(L"Test"); 
} 

Je suis d'accord avec Goz bien; un exemple de code frmo vous aiderait à identifier ce qui ne fonctionne pas pour vous.

Questions connexes