List Box
-
wie unterscheide ich nun welche LIST BOX ich etwas hinzufüge oder auslese.
-
am fensterhandle natürlich
-
und wenn ich mehr als eine habe wo schreib ich das hin.
-
Ich glaube du solltest das mit dem Drucker erstmal lassen.
SendMessage(hwndList
-
ja das gibt doch nur an von welchem fenster wenn ich aber nun 3 List Boxen in einem Fenster was mach ich den dann. Das wollte ich wissen und weill es bei mir nicht func. ich hab es bei case WM_INITDIALOG: reingepackt aber es wird nichts angezeigt.
-
Listboxen sind auch Fenster!
-
tja ok dann zu meinem Problem ich denn Text von oben in mein Prog unt case WM_INITDIALOG: eingefügt nur wird nichts angezeigt woran kann das liegen.
BOOL CALLBACK EingabeDlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch(Message) { case WM_INITDIALOG: { SetDlgItemText(hwnd, IDC_VERWENDUNGSZWECK, "- Keine Eingabe -"); TCHAR szText[] = TEXT("Gruppenname"); SendMessage(hwnd,LB_ADDSTRING,0,(LPARAM)szText); return TRUE; } break; case WM_COMMAND: { switch(LOWORD(wParam)) { case IDC_WEITERE_EINGABEN: { BOOL correct = TRUE; int Betrag; //Abfrage Betrag int BetragV = GetDlgItemInt(hwnd, IDC_BETRAG_V, 0, 0); int BetragN = GetDlgItemInt(hwnd, IDC_BETRAG_N, 0, 0); if (BetragN==0) { Betrag= BetragV+(BetragN/100); }else Betrag = BetragV; //Abfrage Gruppenname kommt noch TCHAR szText[20]; SendMessage(hwnd,LB_GETTEXT,0,(LPARAM)szText); //Abfrage Verwendungszweck int len = GetWindowTextLength(GetDlgItem(hwnd, IDC_VERWENDUNGSZWECK)); char VZweck[len+1]; GetDlgItemText(hwnd, IDC_VERWENDUNGSZWECK, VZweck, len+1); if(len==0) { MessageBox(hwnd, "Keine Eingabe bei Datum (Tag)", "Hinweis", MB_ICONEXCLAMATION | MB_OK); } //Abfrage Datum //Abfrage Tag int Tag = GetDlgItemInt(hwnd, IDC_TAG, 0, correct); if(Tag==0) { MessageBox(hwnd, "Keine Eingabe bei Datum (Tag)", "Hinweis", MB_ICONEXCLAMATION | MB_OK); } //Abfrage Monat int Monat = GetDlgItemInt(hwnd, IDC_MONAT, 0, correct); if(Monat==0) { MessageBox(hwnd, "Keine Eingabe bei Datum (Monat)", "Hinweis", MB_ICONEXCLAMATION | MB_OK); } //Abfrage Jahr int Jahr = GetDlgItemInt(hwnd, IDC_JAHR, 0, correct); if(Jahr==0) { MessageBox(hwnd, "Keine Eingabe bei Datum (Jahr)", "Hinweis", MB_ICONEXCLAMATION | MB_OK ); } //Fehler abfang Betrag if(Betrag==0) { correct=FALSE; MessageBox(hwnd, "Keine Eingabe bei Betrag", "Hinweis", MB_ICONEXCLAMATION | MB_OK); } if (correct) { count++; SetDlgItemText(hwnd, IDC_BETRAG_V, ""); SetDlgItemText(hwnd, IDC_BETRAG_N, ""); SetDlgItemText(hwnd, IDC_VERWENDUNGSZWECK, "- Keine Eingabe -"); SetDlgItemText(hwnd, IDC_TAG, ""); SetDlgItemText(hwnd, IDC_MONAT, ""); SetDlgItemText(hwnd, IDC_JAHR, ""); } return 0; } break; case IDC_ENTFERNEN: { SetDlgItemText(hwnd, IDC_BETRAG_V, ""); SetDlgItemText(hwnd, IDC_BETRAG_N, ""); SetDlgItemText(hwnd, IDC_VERWENDUNGSZWECK, ""); SetDlgItemText(hwnd, IDC_TAG, ""); SetDlgItemText(hwnd, IDC_MONAT, ""); SetDlgItemText(hwnd, IDC_JAHR, ""); return 0; } break; case IDC_ZURUECK: EndDialog(hwnd, IDC_ZURUECK); return 0; break; } return TRUE; } case WM_CLOSE: EndDialog(hwnd, 0); return TRUE; } return FALSE; }
-
lol, du sendest ja LB_ADDSTRING an deinen Dialog. Das kann ja auch nicht funktionieren. mit GetDlgItem und der ID kommst du an das Handle der Listbox
-
funktioniert trotzdem nicht
hab es so probiert:case WM_INITDIALOG: { SetDlgItemText(hwnd, IDC_VERWENDUNGSZWECK, "- Keine Eingabe -"); GetDlgItem(hwnd,IDC_GRUPPE_E); TCHAR szText[] = TEXT("Gruppenname"); for(int x = 0; x<2; x++) { SendMessage(hwnd,LB_ADDSTRING,x,(LPARAM)szText); } return TRUE; } break;
-
löl lies doch mal ein tutorial! du hast ja garnichts verstanden.
case WM_INITDIALOG: { SetDlgItemText(hwnd, IDC_VERWENDUNGSZWECK, "- Keine Eingabe -"); HWND hWndListBox = GetDlgItem(hwnd,IDC_GRUPPE_E); TCHAR szText[] = TEXT("Gruppenname"); for(int x = 0; x<2; x++) { SendMessage(hWndListBox,LB_ADDSTRING,x,(LPARAM)szText); } return TRUE; } break;
ich hoffe mal das IDC_GRUPPE_E wirklich die ID der Listbox ist. vielleicht sind noch andere Fehler drin. :p
-
danke funktioniert jetzt kannst ja nen link oder das tutorial schicken.
[ Dieser Beitrag wurde am 13.12.2002 um 00:20 Uhr von mosta editiert. ]
-
ne kannst du dir selbst aus dem forum zusammensuchen. links zu tutorials wurden hier schon oft gepostet.
-
@fauler sack
-
hey das was ich bisher habe ist nicht so toll bzw beantwortet keine wirklichen hintergrund frage sondern man bekommt nur die funktionen benannt und das wars.
Für den Petzhold hab ich kein Geld über (musste meine komplette Hardware updaten).