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

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

21

10.05.2006, 07:56

oho oho :)

danke koschka, jetzt ist mir einiges klar *g*

eine frage hab ich dann noch...

nehmen wir mal an ich hab da wieder die funktion Textout(const char* Text);

und wenn ich die jetz anwende.. sollte ich das in unicode anwenden oder in ANSI ?

also:

C-/C++-Quelltext

1
Textout ((LPCWSTR)("Hallo"));

oder

C-/C++-Quelltext

1
Textout ("Hallo");


? :roll:

warum ich das frage ist weil ich nicht weiß wie sich das auf die performance auswirkt wenn ich jetz 1000mal so eine funktion hab, und bei der ich ihre parameter andauernd convertiere...


aja.. und macht das eigentlich einen unterschied ob ich

(LPCWSTR)("String");

oder

L"String"

schreibe?
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

22

10.05.2006, 08:40

LPCWSTR - Long Pointer (32Bit) Constant Wide String
Also ein Zeiger auf einen konstanden Unicode (wchar_t) String
LPCSTR - Long Pointer Constant String
Also ein Zeiger auf einen konstanden ANSI (char) String

Natürlich ist LPWSTR konform mit "L", aber L ist kürzer :).

z.B.
wenn Textout einen wchar_t Typ erwartet

C-/C++-Quelltext

1
2
3
wchar_t MyString[8]; 
wcscpy(MyString, L"hallo");
Textout(MyString);


wenn nicht: (char Typ)

C-/C++-Quelltext

1
2
3
char MyString[8]; 
strcpy(MyString, "hallo");
Textout(MyString);


Wenn dann benutzt man NUR Unicode oder NUR ANSI ISO. Einen Mischmasch gibts nicht, und braucht man auch nicht.

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

23

10.05.2006, 08:45

ok ok ... is klar :D
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

24

10.05.2006, 09:10

menno... das kann ja nicht sein:


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
//Statischen Text als Child-Fenster erzeugen

  hText = CreateWindow("STATIC",
                        (LPCWSTR)("Beispieltext"),
                        WS_VISIBLE | WS_CHILD,
                        0, 100,
                        300, 20,
                        hWnd,
                        (HMENU)ID_LABEL1,
                        hInst, 
                        NULL);


Zitat von »"Compiler"«


Fehler 1 error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char [7]' in 'LPCWSTR' nicht möglich c:\dokumente und einstellungen\$ilentsnooc\eigene dateien\ms visual c++\c++\c++ für spieleprogrammierer\kapitel 10\windows grundgerüst\windows grundgerüst\main.cpp 86
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

25

10.05.2006, 15:12

Also entweder du nimmst nun Unicode oder ANSI, beides geht nicht.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
  hText = CreateWindowW((LPWSTR)(L"STATIC"),
                        (LPWSTR)(L"Beispieltext"),
                        WS_VISIBLE | WS_CHILD,
                        0, 100,
                        300, 20,
                        hWnd,
                        (HMENU)ID_LABEL1,
                        hInst,
                        NULL);


Ausserdem solltest du schon ddie Linker errors zu dem Quelltext bringen und nicht irgendwelche.... CreateWindowEX != CreateWindow!

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

26

10.05.2006, 15:51

ok danke .. ^^

boah ich muss mir das alles nochmal genau durchlesen :D


sorry wegen der umstände :angel:
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

Werbeanzeige