[WinApi] Chińskie znaczki w ListBox'ie

0

Witam wszystkich!
Problem mój przedstawia się następująco, otóż gdy chcę wprowadzić nową linię do mojego ListBoxa, to operacja jest wykonana, jednak w ListBoxie nie pojawia się tekst z alfabetem z jakiego korzystamy, tylko literki chińskiego alfabetu (lub innego, przepraszam wszystkich azjatyckich czytelników za ignorancję). Czy ktoś spotkał się może z podobnym problemem?

Oto kod dodawania tekstu:
SendMessage (temp, LB_INSERTSTRING, (WPARAM) 0, (LPARAM)"Tekst");

Kombinowałem z rzutowaniem tekstu najpierw na LPCTSTR (i temu podobne odmiany), a potem na LPARAM, niestety jednak, nie przynosiło to żadnych efektów.

0

jeśli temp to ListBox to musisz wysłać komunikat do uchwytu ListBoxa a nie do jego samego :

SendMessage (temp->Handle, LB_INSERTSTRING, (WPARAM) 0, (LPARAM)"Tekst");
0

Przepraszam za niedokładność, temp to uchwyt do ListBoxa, który pobieram linijkę wyżej:
temp=GetDlgItem(hWndDlg,IDC_LIST1);

Rozwijając jeszcze poprzedniego posta, ciężko mi stwierdzić gdzie może leżeć przyczyna takiego wyświetlania tekstu, w tym samym programie do Edit Boxów wstawiam teksty typu LPCWSTR i wszystko wyświetla się zgodnie z oczekiwaniami.

0

Masz kodowanie projektu ustawione na unicode, Ty zaś przekazujesz ansi-string...

SendMessage (temp, LB_INSERTSTRING, (WPARAM) 0, (LPARAM)TEXT("Tekst"));

i będzie niezależne od kodowania.

0

To rozwiązało problem, dzięki za pomoc i uwagę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1