Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

20.01.2007, 11:08

:lol: :lol:
^^Stimmt.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

20.01.2007, 11:18

du durchsuchst bei jedem klick den ordner neu, um an die n-te datei zu gelangen!?
das is klarerweise unperformant (und fehleranfällig).

ich würd vorschlagen du lädst entweder alle dateienamen in ein array und schlägst dann den listenindex in diesem array nach, oder du benutzt, was du oben schon fälschlicherweise verwendet hast. nämlich eben genau diese benutzerdefinierten 32 bit werte, die du jedem listenelement zuweisen kannst (LB_GETITEMDATA und LB_SETITEMDATA), und weist damit jedem listenelement einen pointer auf den entsprechenden dateinamen zu.
oder du verwendest eine kombination aus beidem (gibst also z.b. jedem item den index in dem array mit den dateinamen mit).

das alles brauchst du aber sowieso nur, wenn die einträge in deiner liste nicht ohnehin schon die dateinamen sind. wenn dem so ist, dann reicht es, so wie ich es oben beschrieben hab, einfach den text vom selektierten item zu holen und fertig.

13

24.01.2007, 21:40

Zitat


einfach den text vom selektierten item zu holen und fertig.


Zitat

char buffer[200];
int cursel = SendMessage(hListbox, LB_GETCURSEL, 0, 0);
//evtl. erst die benötigte buffergröße mit LB_GETTEXTLEN herausfinden
SendMessage(hListbox, LB_GETITEMDATA, (WPARAM) cursel, (LPARAM)buffer);


Damit klappt das nicht! :(
da kommt dann immer ein  :(

Warum klappt das nicht?

Gruß Flo

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

14

25.01.2007, 16:33

Spontantipp bei solchen Sachen ist (bei mir) immer UNICODE. Nutze doch mal explizit die W Form der Nachricht Senden Funktion und schreib das ganze in ein wchar_t array. Und dann guck mal per Debugger was drinsteht eh du da weiterkramst ^^

15

25.01.2007, 21:17

Habs!!!
VIELEN DANK!

Gruß Flo

Werbeanzeige