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

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

1

27.07.2007, 11:30

Combobox - Noch ein Problem

So, ich habe jetzt schon eine Zeit lang bei google, hier und in diversen anderen Foren gesucht, bin aber auf keine akzeptable Lösung gestoßen.
Ich erstelle mir eine Combobox und zwar so:

C-/C++-Quelltext

1
HWND hCombo        = CreateWindow("COMBOBOX","bla", WS_VISIBLE | WS_CHILD | LBS_STANDARD , 100, 20, 300, 20, hWnd, (HMENU)ID_COMBOBOX, hInstance, NULL);

Das Ergebnis ist eine total leere Combobox.
Ich habe zig mal gelesen, dass ich meine Combobox so füllen soll:
SendMessage(hComboBox, CB_ADDSTRING, 0, (LPARAM) szInhalt);
Das funktioniert aber mal wieder nicht :(
Das Ergebnis ist...nun ja, es gibt einfach keines.


Hoffe, jemand weiß was.




MfG

2

27.07.2007, 11:39

Ich habs mal durchgetippt ... dein Fehler ist, dass deine Höhe zu klein ist (bei dir 20) ... du musst zB 120 eingeben un dann geht das ganze!
Greetz Gies
http://www.pennergame.de/functions/generate_signature_114955.jpg

Wo die Fähigkeiten aufhören ... fängt der Optimismus an

"Unendlichkeit ist der Mangel an Grenzen" Aristoteles

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

3

27.07.2007, 11:50

Hm, wie soll ich denn darauf kommen?^^ :(

Aber, gut, danke.


Trotzdem noch ein Problem:
Wenn ich jetzt
SendMessageW (hCombo,CB_ADDSTRING,0, (LPARAM)"WAA");
Schreibe, kommt in der ComboBox nur ein "?A" an.
Versteh ich nicht^^

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

27.07.2007, 11:53

Du brauchst ein Widechar-String-Literal, setz halt noch ein L vor dein Stringliteral, dann sollts klappen.
@D13_Dreinig

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

5

27.07.2007, 11:54

ah!
Danke :)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

27.07.2007, 11:59

Oder machs gleich kompatibel zu Multibyte und Unicode. Dann hast du die wenigsten Probleme.
@D13_Dreinig

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

7

27.07.2007, 12:17

Und wie mache ich das mit dem Wide-Char, wenn ich eine Variable hab'?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

8

27.07.2007, 12:17

Was für eine Variable hast du denn?
@D13_Dreinig

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

9

27.07.2007, 12:21

Die Description-Variable eines D3D-Adapters. Welcher Typ da ist, kann ich grad nicht sagen :(

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

10

27.07.2007, 12:23

Das solltest du aber schon wissen da du evtl zuerst zu widechar Konvertieren musst.

Als kleinen Tip:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
typedef struct D3DADAPTER_IDENTIFIER9 {
    char Driver[MAX_DEVICE_IDENTIFIER_STRING];
    char Description[MAX_DEVICE_IDENTIFIER_STRING]; // <- Na???

    char DeviceName[32];
    LARGE_INTEGER DriverVersion;
    DWORD DriverVersionLowPart;
    DWORD DriverVersionHighPart;
    DWORD VendorId;
    DWORD DeviceId;
    DWORD SubSysId;
    DWORD Revision;
    GUID DeviceIdentifier;
    DWORD WHQLLevel;
} D3DADAPTER_IDENTIFIER9, *LPD3DADAPTER_IDENTIFIER9;


Noch ein Tip:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
int MultiByteToWideChar(
  UINT CodePage,         // code page

  DWORD dwFlags,         // character-type options

  LPCSTR lpMultiByteStr, // string to map

  int cbMultiByte,       // number of bytes in string

  LPWSTR lpWideCharStr,  // wide-character buffer

  int cchWideChar        // size of buffer

);
@D13_Dreinig

Werbeanzeige