OnChange Problem



  • Kann mir wer sagenm wieso auf folgenden Code nichts passiert?

    void PropertyPageSeiteA::OnChangeData() 
    {
    	UpdateData(TRUE);
    	CString m_value;
    	GetDlgItem(IDC_EDIT5)->GetWindowText(m_value);
    	if (m_value.Right(1)!="0")	
    	{
    		((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(TRUE);
    	}
    }
    

    Es interessiert ihn null, was ich mache 😞

    Aja, das Event dazu ist EN_CHANGE



  • Ok, nun wirds richtig toll...

    Auf das Event von der bestimmten Editbox scheint er nicht zu reagieren. Da ich aber ein anderes Feld noch besitze, wo ich auf jedenfall ein Event habe, setze ich testhalber den Text ein zum Aufruf. Sieht wie folgt aus...

    void PropertyPageSeiteA::OnChangeBuddy() 
    {
    	CString strVar;
    	GetDlgItem(IDC_EDIT1)->GetWindowText(strVar);
    	m_data=strVar.Right(2);
    	m_data2write=m_slaveadr+m_hex+m_data;
    	UpdateData(FALSE);
    
    	if (strVar.Right(1) == "0")
    	{
    		((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(TRUE);
    	}
    }
    

    Auf die Zeile ((CButton)GetDlgItem(IDC_CHECK1))->SetCheck(TRUE);* reagiert er ganz unangenehm mit folgender Fehlermeldung beim Programmstart (Compilieren tut er fehlerlos):

    The instruction at "ox5f483d68" referenced memory at "0x00000020". The memory could not be read.

    Hingegen funktioniert die Anweisung in einem anderem Event problemlos:

    ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)

    Da lässt er alles zu... Würd ich ned im Keller hocken würd ich bald den Monitor ausm Fenster werfen...



  • Nächster Ansatz... wie muss das aussehen, wenn ich ne Message schicken will?

    Ich will im Dialog OnBuddyChange ne Message schicken, welches das Programm dazu bringt, OnChangeData aufzurufen?

    Und kommt ned mit RTFM, weil ich die ach so tollen Erklärungen von MSDN vorn und hinten ned blicke im Moment.


Anmelden zum Antworten