003
07.05.2005, 14:09 Uhr
predator
|
Hi
Angenommen, deine zwei Textfelder haben die IDs "IDC_EDIT1" und "IDC_EDIT2".
Füge als erstes mit dem Klassen-Assistent Member-Variablen für die Textfelder hinzu: Rechtsklick auf Textfeld -> Klassen-Assistent -> Reiter "Member-Variablen" -> "IDC_EDIT1" auswählen -> Variable hinzufügen -> Name eingeben (z.B. m_strEdit1) -> OK -> für zweites Textfeld ("IDC_EDIT2") genauso verfahren
Du hast jetzt also für das Textfeld "IDC_EDIT1" die Variable "m_strEdit1" und für das Textfeld "IDC_EDIT2" die Variable "m_strEdit2".
Füge nun mit dem Klassen-Assistent eine Member-Funktion für das erste Textfeld hinzu: Rechtsklick auf Textfeld 1 -> Klassen-Assistent -> Reiter "Nachrichtenzuordnungstabellen" -> im Listenfeld "Nachrichten" "EN_UPDATE" wählen -> "Funktion hinzufügen" -> Name beibehalten -> OK -> "Code bearbeiten"
Jetzt gibst du folgenden Code nach den Kommentaren ein:
| C++: |
UpdateData(TRUE); m_stredit2 = m_stredit1; UpdateData(FALSE);
|
Die Funktion muss dann so aussehen:
| C++: |
void CTestDlg::OnUpdateEdit1() { // TODO: Wenn es sich hierbei um ein RICHEDIT-Steuerelement handelt, sendet es // sendet diese Benachrichtigung nur, wenn die Funktion CDialog::OnInitDialog() // überschrieben wird, um die EM_SETEVENTMASK-Nachricht an das Steuerelement // mit dem ENM_UPDATE-Attribut Ored in die Maske lParam zu senden. // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen UpdateData(TRUE); m_stredit2 = m_stredit1; UpdateData(FALSE);
}
|
Wiederhole den Vorgang für das zweite Textfeld, der Code für dessen Funktion muss dann so aussehen:
| C++: |
void CTestDlg::OnUpdateEdit2() { // TODO: Wenn es sich hierbei um ein RICHEDIT-Steuerelement handelt, sendet es // sendet diese Benachrichtigung nur, wenn die Funktion CDialog::OnInitDialog() // überschrieben wird, um die EM_SETEVENTMASK-Nachricht an das Steuerelement // mit dem ENM_UPDATE-Attribut Ored in die Maske lParam zu senden. // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen UpdateData(TRUE); m_stredit1 = m_stredit2; UpdateData(FALSE);
}
|
Wenn du das Projekt jetzt kompilierst, müsste es eigentlich funktionieren.
 -- Gruß predator
| Zitat von Edsger W. Dijkstra: |
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.
|
|