CEdit->SetWindowText () ändert Wert in anderer
-
Hallo NG,
bitte schaut euch mal diesen Quelltext an. Ich verstehe die Welt nicht mehr. Meine Frage wird im Quelltext gestellt.void CLineDefinitionDlg::InitDialog(CLineType *pLineType) { if (!pLineType) return; [snip] ... der Code hier zwischen ist nicht relevant [snip] CComboBox* pCombo = NULL; CEdit* pEdit = NULL; CHAR SegmentType =' '; int SegmentLaenge = 0; CString Text = _T(""); // Hier wird die Segmentanzahl aus pLineType abgefragt // Der Wert ist korrekterweise 2 int Segmentanzahl = pLineType->GetSegmentAnzahl (); for (int i=0; i < Segmentanzahl; i++) { pCombo = (CComboBox*) GetDlgItem (IDC_LINE_SEG1 + i); pEdit = (CEdit*) GetDlgItem (IDC_LINEDEF1 + i); SegmentType = pLineType->GetSegmentType (i); SegmentLaenge = pLineType->GetSegmentLength (i); Text.Format ("%d",SegmentLaenge); switch (SegmentType) { case ' ': pCombo->SetCurSel (0); break; case '-': pCombo->SetCurSel (1); break; case 'C': pCombo->SetCurSel (2); break; case 'T': pCombo->SetCurSel (3); break; case 'S': pCombo->SetCurSel (4); default: pCombo->SetCurSel (0); break; } // switch // Jetzt kommt der Hammer!!! // Die nächste Zeile setzt den Text in der Editbox und zwar korrekt. pEdit->SetWindowText (Text); // ABER gleichzeitig ändert sich hier AUCH die Segmentanzahl in // pLineType!!! Die Segmentanzahl wird genau um eins erhöht!!! // Ich bin am verzweifeln. Woran kann das liegen??? } }
Vielen Dank für jede Hilfe,
Gruß
Christian
-
Hast Du einen MessageHandler für EN_CHANGE vom Edit ?
-
Danke!
Das wars, Man bin ich blöd man.Gruß
Christian