View Full Version : hỏi về "visual studio 2005"???
biettimdau
19-09-2007, 19:42
Cho tớ hỏi: Khi tớ viết visual C++ bằng VS2005 thì nó báo lỗi:
g:\study_vc++\area\area\areadlg.cpp(191) : error C2664: 'CWnd::SetWindowTextW' : cannot convert parameter 1 from 'const char [7]' to 'LPCTSTR'
Có bạn nào biết giúp tớ với. Nhân tiện có bạn nào có hướng dẫn VS2005 cho Visual C++ thì cho mình xin với.Xin cám ơn!
sutuluoi7777
19-09-2007, 21:20
thì là lỗi không thể chuyển kiểu từ mảng char độ dài 7 sang kiểu con trỏ chuỗi chứ sao nữa, chắc trong code đâu đó có 1 phép gán bậy rồi
nguyen.the.vinh
19-09-2007, 22:26
Đây là do unicode rồi :)
Đây là do unicode rồi :)
Sao lại có Unicode ở đây nhỉ :blink:
kooltech
20-09-2007, 01:53
Sao lại có Unicode ở đây nhỉ :blink:
Thì đúng là unicode rồi còn gì! Ông này mấy hôm trước thấy cãi nhau cái gì về C/Delphi to lắm mà?
Hayz dùng _T("chuỗi") sẽ hết báo lỗi.
biettimdau
20-09-2007, 22:40
lỗi unicode là thế nào vậy? Tớ mới học nên không biết, bạn có thể nói rõ hơn được không?
eXecutive
21-09-2007, 18:55
Windows sử dụng hàm SetWindowText thể thay đổi tiêu đề cho 1 cửa sổ, tuy nhiên hàm này có 2 hàm con.
- SetWindowTextA("<ANSI>"); Như vậy dữ liệu đưa vào là chuổi ANSI.
- SetWindowTextW(_T("<UNICODE>")); Chuỗi đưa vào thêm MACRO _T sẽ được chuyển thành mã UNICODE (tức là 2byte 1 ký tự).
Ở VS2003 trở về trước mặc định khi gọi hàm SetWindowText thì sẽ tự động gọi SetWindowTextA. Còn VS2005 trở về sau này có lẽ là ngược lại.
- MessageBox cũng vậy (MessageBoxA và MessageBoxW). do đó ai lt 2005 thì lưu ý.
biettimdau
23-09-2007, 21:42
ok, thanks các bạn giúp đỡ.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.