You are not logged in.

  • Login

1

Thursday, December 14th 2006, 10:39pm

Editbox Eingabe in Variable -> zur ListBox adden

Hallo,

Ich habe vor einiger Zeit mit c++ angefangen und mich erstmal rangetastet(meist mit zahlen uns Rechungsprogrammen).

Ich wollte mal eine MFC Anwendung schreiben in der ich in einer EditBox z.B. "Start" eingebe. Jetzt klicke ich auf den Button Add und "Start" wird somit zu einer Listbox hinzugefügt.

Kann mir da mal wer ne leichte Variante zeigen oder mal nen link geben? habe schon überall mal gesucht aber leider nie was guten / richtiges gefunden.

Danke im voraus.

2

Friday, December 15th 2006, 12:28pm

MFC Text aus Textfeld in eine Listbox schreiben

Methode (hier OnButton1) hinzufügen.

C Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Header
afx_msg void OnButton1();
 
// Source
void CTestDlgDlg::OnButton1() 
{
 
  // Eingabefeld
   CEdit* pEdit = (CEdit*) GetDlgItem( IDC_EDIT1 );
 
   // Text auslesen
   CString sText = "";
   pEdit->GetWindowText( sText );
 
   // Text in die Listbox schreiben.
   CListBox* pList = (CListBox*) GetDlgItem( IDC_LIST1 );
   pList->AddString( sText );
 
}

3

Friday, December 15th 2006, 2:49pm

ah super, danke schön.

4

Friday, December 15th 2006, 6:35pm

Hi,
nur für alle die es interessiert:
Diese Zeile:

C Quellcode

1
CEdit* pEdit = (CEdit*) GetDlgItem( IDC_EDIT1 );

ist technisch falsch und wenn man anstelle eines C-Style Casts nen dynamic_cast nimmt wird dieser Null zurück geben.
Ich bin mir bewusst dass man diesen Code selbst in der MSDN findet aber es bleibt dabei,was GetDlgItem liefert ist nen Zeiger auf nen temporäres Objekt vom Typ CTempWnd.Ausnahme ist, wenn man das Control explizit selber über Create erstellt hat.

Ausführlich ist das Ganze hier nachzulesen:
http://www.microsoft.com/msj/0997/c0997.aspx
http://www.mindfiresolutions.com/downloa…y%20Objects.pdf

Gruß void

5

Friday, December 15th 2006, 7:13pm

Hallo void,

wir wollen mal nicht mit Kanonen auf Spatzen schießen.
Dein Einwand ist zwar richtig, aber für jemanden der gerade anfängt
ist der Code erst mal ausreichend um ein Erfolgserlebnis zu haben.
In Büchern und in der MSDN steht das auch so drin. Wer später dann
mal tiefer in die MFC einsteigt, der macht das dann auch anders.

Es steht ja extra drin, es sollte eine leichte einfache Variante gezeigt werden.

Deine Links sind trotzdem gut und für die, die sich weiter mit dem Thema
auseinandersetzen wollen.

Social bookmarks