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

1

27.06.2009, 13:57

combo box auf chinesisch!

hi leute,
ich habe mir einen eigene konfigurationsdialog nach dem vorbild der TriBase-Engine programmiert und den handler größtenteils übernommen.(der einzige wesentliche unterschied sind die funktionsnamen und die IDs)

der dialog funkrionirt einwarnfrei, aber die schrift in manchen comboboxen ist chinesisch. nur die für den soundtreiber wird auf deutsch angezeigt. die static texte werden auch auf deutsch angezeigt

ich hoffe ihr könnt mir helfen
mfg Schwane

2

27.06.2009, 14:10

könntest du mal n Screenshot zeigen?
Metal ist keine Musik sondern eine Religion.

3

27.06.2009, 14:13

Welchen Zeichensatz verwendest du in deinem Projekt?
Wie füllst du die Comboboxen (möglicherweise gibst du die Adresse [Zeiger] einer Variablen aus, anstatt dem Text)?
fka tm

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

4

27.06.2009, 16:45

Ein Fehler dieser Art hatte ich auch schonmal, du bringst da wahrscheinlich unicode und ascii irgendwie durcheinander, wahrscheinlich castest du es, weshalb der compiler nicht mehr meckert, aber eben Müll bei rauskommt... kann das sein?

5

27.06.2009, 16:48


(Link)


so da ist der screenshot und wie gesagt habe ich die callback funktion aus der TriBase mit anderen IDs benutzt also für das erklärungsfeld rechts unten:

zuerst:

Quellcode

1
#define SW_D3DC_ADAPTER_DESCRIPTION ("Adapter:\r\n\r\nWählen Sie aus der Liste den Adapter aus, ...")


und dann:

Quellcode

1
SetDlgItemText(hDlg, SW_IDC_C_DESCRIPTION, (LPCWSTR)SW_D3DC_ADAPTER_DESCRIPTION);

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

27.06.2009, 17:20

Wie n0_0ne schon vermutet hat:

C-/C++-Quelltext

1
(LPCWSTR)SW_D3DC_ADAPTER_DESCRIPTION


tztztz, mit casts Compilerfehler unterdrücken. Das haste jetzt davon ;)
Dein Ding da is kein wide string. Auch wenn du den Compiler zwingst es trozdem zu kompilieren wird das nix dran ändern.

Lösung: Weg mit dem cast und richtig machen:

C-/C++-Quelltext

1
#define SW_D3DC_ADAPTER_DESCRIPTION TEXT("Adapter:\r\n\r\nWählen Sie aus der Liste den Adapter aus, ...")


C-/C++-Quelltext

1
SetDlgItemText(hDlg, SW_IDC_C_DESCRIPTION, SW_D3DC_ADAPTER_DESCRIPTION); 

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

7

27.06.2009, 17:27

Zitat von »"dot"«

Dacht ichs mir...

Ey, nicht meine Lorbeeren klauen, tztztztz... ;)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

27.06.2009, 17:36

Zitat von »"n0_0ne"«

Zitat von »"dot"«

Dacht ichs mir...

Ey, nicht meine Lorbeeren klauen, tztztztz... ;)


soz, hab deinen post übersehen ^^

9

27.06.2009, 22:12


so siehts jetzt aus. danke erstmal :D

aber wie bau ich das TEXT jetzt hier ein:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    int                     iNumAdapters;
    D3DADAPTER_IDENTIFIER9  AdapterInfo;

    
    // Liste löschen

    DeleteListData(hDlg, SW_IDC_D3DC_ADAPTERS);

    // Anzahl der Adapter abfragen

    iNumAdapters = g_pD3DTemp->GetAdapterCount();

    // Jeden Adapter durchgehen

    for(int iAdapter = 0; iAdapter < iNumAdapters; iAdapter++)
    {
        // Informationen abfragen

        g_pD3DTemp->GetAdapterIdentifier(iAdapter, 0, &AdapterInfo);

        // Einen neuen Eintrag in der Adapterliste anlegen, mit

        // dem Namen des Adapters

        SendDlgItemMessage(hDlg, SW_IDC_D3DC_ADAPTERS, CB_ADDSTRING,
                           0, (LPARAM)(AdapterInfo.Description));
    }

    // Den ersten Adapter in der Liste auswählen

    SendDlgItemMessage(hDlg, SW_IDC_D3DC_ADAPTERS, CB_SETCURSEL, 0, 0);

10

30.06.2009, 22:30

wiso weiß das denn keiner :?: :(

das komische ist, wenn ich die TriBase in mein Beispielprojekt einbinde und tbDoConfigDialog aufrufe, fuktioniert alles perfekt und meine funktionen sind genau wie in der TriBase und gehen trotzdem nicht :!: :(

Werbeanzeige