JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=1cc3007b344490c1f82974cbe07e7a09Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

[WINAPI][COMBOBOX] Merhere Eingaben

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 06.12.2003, 12:19    Titel: [WINAPI][COMBOBOX] Merhere Eingaben Antworten mit Zitat

Wie adde ich mehrere dinge in so einer IDC_COMBO1 ComboBox ?
mit SetDlgItemText() packt er immer nur bei mehreren Dingen das
letze rein
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
me
Junior JLI'ler



Anmeldedatum: 10.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 07.12.2003, 12:57    Titel: Antworten mit Zitat

hi!
also du solltest wenn du items zu deiner combobox adden willst die funktion SendDlgItemMessage benutzen;

guck dir des mal in der MSDN an; mit dem parameter CB_ADDSTRING erstellst du einen neuen Eintrag in deiner combo-box. mit CB_SETITEMDATA kannst du dann auch noch x-beliebige daten mit dem eintrag assoziieren.

hoffentlich hilft dir das.
_________________
If something is stupid and it works, it ain't stupid! Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 08.12.2003, 15:36    Titel: Antworten mit Zitat

irgendwie krieg ich es nicht hin, könntest du ein beispiel geben ?
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
me
Junior JLI'ler



Anmeldedatum: 10.09.2003
Beiträge: 60

Medaillen: Keine

BeitragVerfasst am: 09.12.2003, 14:07    Titel: Antworten mit Zitat

Na klar! Freu mich doch wenn ich zur Abwechslung mal anderen helfen kann Smile

Also du hast da eine Combobox mit einer ID in deiner resource.h datei, die nennen wir IDC_COMBOBOX. Diese Combobox ist Element eines Fensters, z.B. eines Dialogs, den werde ich im Folgendem immer mit HWND meinFenster bezeichnen.

Jetzt wollen wir einen Eintrag zur Combobox hinzufügen, das machen wir auf die folgende Art und Weise:
Code:

HWND meinFenster;
SendDlgItemMessage(meinFenster,IDC_COMBOBOX,CB_ADDSTRING,0,(LPARAM)"DEIN TEXT STEHT HIER!");


Nun hast du einen Eintrag in deiner Combobox; Dem Eintrag wird automatisch eine ID zugewiesen, die davon abhängig ist an welcher Position in der Liste er steht, und mit dem ersten Element bei 0 zu zählen beginnt. Die Positionen deiner Einträge sind abhängig davon ob du für deine Combobox den Style CBS_SORT gesetzt hast, dann werden sie nämlich alphabetisch sortiert, sonst nicht.

Willst du jetzt einem Eintrag auch noch bestimmte Daten zuweisen, so kannst du das auf folgende Weise machen:

Code:

HWND meinFenster;
int itemID;
SendDlgItemMessage(meinFenster,IDC_COMBOBOX,CB_SETITEMDATA, itemID,(LPARAM)"DEINE DATEN IN IRGENDEINER FORM");


Wie du schon siehst, läuft es immer auf das gleich hinaus, nämlich SendDlgItemMessage(). Du musst nun nur wissen welche Messages du alle verschicken kannst, und was sie tun.

Hier noch eine kleine Auswahl:
CB_SETCURSEL: lieftert die das aktuell ausgewählte element der combobox zurück
LB_ADDSTRING: gleiches wie CB_ADDSTRING nur für listbox

etc.

Ich empfehle dir einfach mal in der MSDN nach den spezifischen Messages zu suchen, denn die sind nämlich für jedes ControlElement ein bissal anders.

Hope that helped...
byebye
_________________
If something is stupid and it works, it ain't stupid! Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 09.12.2003, 15:31    Titel: Antworten mit Zitat

thx, hast mir gut weitergeholfen Smile
die Messages waren / sind kein Problem zu finden
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 09.12.2003, 16:24    Titel: Antworten mit Zitat

Code:

int item;
SendDlgItemMessage(hDlg, MYLISTBOX2, CB_SETCURSEL, item, 0);


Code:

int item;
SendDlgItemMessage(hDlg, MYLISTBOX2, CB_GETCURSEL, item, 0);


geht es net
irgendwie krieg ich das mit dem Abfragen eines Feldes nicht hin Sad
P.s. könntest du mich nicht mal im icq adden, dann würds schneller gehn Sad
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 09.12.2003, 19:31    Titel: Antworten mit Zitat

Code:
   int lResult;
         lResult=SendDlgItemMessage(hDlg, MYLISTBOX2 ,LB_GETCURSEL,0,0);
         sprintf(mystring, "%i", lResult);
         MessageBox(hWnd, mystring, "...", 0);
hab es hinbekommen nach 2 stunden ;D


hab es nach 2 stunden hinbekommen Very Happy
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum