Edit bleibt leer
-
ich habe drei ComboBoxen, in denen ich Werte aus einer Datenbank (access 97)auswähle.
Danach will ich auf Grundlage dieser Werte einen 4.Wert aus der datenbank in ein Edit-Feld schreiben. Zur Zeit versuche ich das so, dass ich erst ein Select auf die Datenbank mache und dann in einer IF-Anweisung, die Werte aus den ComboBoxen mit denen in der Datenbank vergleiche und wenn die übereinstimmen, soll der 4. Wert in das Edit-Feld geschrieben werden.
Das funktioniert soweit, dass die Werte aus der Datenbank in den entsprechenden Membervariablen stehen. Aber das Edit-Feld und die dazugehörige Membervariable beliben leer.
Ich weiss im Moment zum einen nicht, wie ich die Membervariable des Edit-Felds fülle und zum anderen, welche Nachricht ich benutzen muss, um das Edit-Feld zu füllen.
Es ist relativ dringend

Danke!
-
Edit-Feld erstellen, mit dem Class-Wizard die Membervar erstelle.
Dann einfach nur noch
m_meinevar = "meintext"; UpdateData(false);oder was meinst du?
-
Kommt schon hin, aber das hab ich auch schon probiert...
"meinText" ist bei mir auch eine Membervariable. Also
m_meinevar = m_dieanderevar; UpdateDate(FALSE);Das funzt aber nicht. In m_dieanderevar zeigt mir der Debugger auch den richtigen Wert an. Es ist aber möglich, dass der Programmabbruch genau in diesem Moment kam, was unter anderem auch daran liegen kann, dass ich nicht weiss, welche Nachricht ich nutzen kann, um das Edit-Feld zu füllen!
Danke schonmal!

-
hmm dann scheint es so als ob das edit mit dem Membervariable nicht
richtig verbunden ist.m_editfeld->SetWindowText("test"); // Geht das?oder halt
SetDlgItemText(IDC_EDIT_ID , "test" );ansonsten fällt mir da auch nix ein. Die DoDataExchange-Funktion gibt es aber, oder? *gg*
-
Die DoDataExchange ist da...

SetWindowText: "Die linke Seite von ->SetWindowText muss eine KLasse/Struktur/Union sein...
SetDlgItemText: Bringt keinen Fehler, aber macht auch nicht was es soll! Kann daran liegen, dass es sich bei der Member um eine Zahlvariable handelt!
-
Hi
NuB schrieb:
SetWindowText: "Die linke Seite von ->SetWindowText muss eine KLasse/Struktur/Union sein...
Dann existiert bei dir keine Membervariable Namens m_editfeld vom Typ CEdit (nicht int/CString)
NuB schrieb:
SetDlgItemText: Bringt keinen Fehler, aber macht auch nicht was es soll! Kann daran liegen, dass es sich bei der Member um eine Zahlvariable handelt!
Das ist egal. Windows kennt bei den Editfeldern afaik keinen Unterschied zwischen Zahlen und Buchstaben. (Ich denke dieses Feature wird erst mit den MFC implentiert).
Grüße Rapha
-
also für das erste muss du wie rapha schon gesagt hat auf das edit-feld noch eine weitere Membervariable vom Typ CEdit legen(Man kann einem Control mehrere Vars zuweisen). Dann muss es aber eigentlich gehen wenn du sonst alles richtig gemacht hast.
und wenn SetDlgItemText nicht geht würde ich vielleicht mal in deine Ressourcen gucken und nachsehen ob deine ID auch richtig zugewiesen ist. Bzw. Das Control mal löschen und neu erstellen (sind ja nur 3 Klicks oder so).
ansonsten.. pfff wüsst ich auch nix mehr..