Cursore in classe derivata di CEdit

di vale88 il
14 risposte
void CEditMod::OnKillFocus(CWnd* pNewWnd)
{
		
	
	GetWindowText(m_strTesto);


	SetSel(-1);




}
// CEditMod message handlers



void CEditMod::OnLButtonDblClk(UINT nFlags, CPoint point)
{	
	

	SetFocus();
	
	SetSel(0,-1, FALSE);
	

	CEdit::OnLButtonDblClk(nFlags, point);
}

utilizzo una classe derivata di CEdit, ho un'interfaccia con una decina di Edit dove l'utente può scrivere, il problema è che quando scrivo in una prima Edit, poi in una seconda Edit e successivamente torno a scrivere nella prima, nella prima non mi compare più il cursore ma il cursore rimane nella seconda edit..non so come risolvere

14 Risposte

  • Quasi impossibile dirti qualcosa di sensato.

    Quel codice non basta, così dentro la SetSel?? Perchè quel SetFocus? Ci sono delle righe inutili nell'evento Kill a che pro? Esempio   int uu = 8;

    Comunque dd'aiuto sguardo approfondito a questo documento

    https://learn.microsoft.com/en-us/windows/win32/inputdev/wm-killfocus

  • 20/06/2024 - oregon ha scritto:


    Quel codice non basta, così dentro la SetSel?? Perchè quel SetFocus? Ci sono delle righe inutili nell'evento Kill a che pro? Esempio   int uu = 8;

    Così come è scritto il codice ho il problema di cui parlo.

    SetFocus lo utilizzo perchè precedentemente avevo settato il focus in un altro oggetto della mia interfaccia.

    Le righe inutili nell'evento kill le ho cancellate, le avevo utilizzate per fare delle prove in debug.

  • Resta il fatto che ci sono delle chiamate a funzioni di cui non si sa nulla.

    Leggi anche

    https://learn.microsoft.com/en-us/windows/win32/inputdev/wm-killfocus

  • 20/06/2024 - oregon ha scritto:


    Resta il fatto che ci sono delle chiamate a funzioni di cui non si sa nulla.

    Quali? Ho modificato il codice 

  • L'ho scritto nella prima risposta

  • 20/06/2024 - oregon ha scritto:


    L'ho scritto nella prima risposta

    ho modificato la mia domanda,

    CEditMod è una classe derivata di CEdit

  • Prova aa togliere la SetSel e vedi se il problema si presenta

  • 20/06/2024 - oregon ha scritto:


    Prova aa togliere la SetSel e vedi se il problema si presenta

    l'ho tolto da entrambe le funzioni ma il problema persiste

  • Se puoi produrre un progetto di test con due sole editbox e lo fai scaricare, si può dare un'occhiata più approfondita

  • 20/06/2024 - oregon ha scritto:


    Se puoi produrre un progetto di test con due sole editbox e lo fai scaricare, si può dare un'occhiata più approfondita

    Posso farlo, però non saprei come fare dopo..dove devo inserirlo n modo che possiate scaricarlo?

  • Con dropbox se lo usi o con un sito gratuito di sharing su internet

  • Https://www.dropbox.com/scl/fi/jqtwdt5dd8b63hok6oqgc/MFCApplication2.zip?rlkey=nmf42vsdl3hejaio9o75alpug&st=ejrpnajw&dl=0

    se seguite il link troverete un piccolo esempio dove incontrerete lo stesso mio problema, è in visual studio 2015, librerie mfc, linguaggio c++

  • Prima della fine della EditMod::OnKillFocus devi aggiungere

    CEdit::OnKillFocus(pNewWnd);

Devi accedere o registrarti per scrivere nel forum
14 risposte