Unicode가 지원되는 개발툴 환경일 것 같은데,
Unicode가 아닌 AnsiString으로 문자열을 만든 후, 이 문자열을 마치 Unicode인것처럼 TCHAR * 로 명시하면서까지 Ansi문자열이 있는 주소를 MessageBox에 넣으셨습니다. (아마 현재 Unicode 환경이라면 TCHAR가 wchar_t일 것입다.)
AnsiString str을 String str 로 바꾸시고, 지금 C++Builder가 없어 확인을 못하겠지만 MessageBox가 아마 String 형식을 받을 것입니다.
MessageBox(Handle, str, ........) 이렇게만 하셔도 될 것입니다. wchar_t * 형식만 되면 MessageBox(Handle, str.c_str(), ........) 이렇게 하시면 됩니다.
백지상태 님이 쓰신 글 :
: 프로그램에서 다른 메세지박스는 괜찮은데 이부분의 메세지박스만 글자가 깨져서 나옵니다.
: 혹시 해결방법을 아시나요?ㅠㅠ
: 메세지박스는 이미지로 올리겠습니다.
: 아래는 메세지박스 출력소스 입니다.
:
: AnsiString str;
: str = L"Do you want to initialize the channel " + IntToStr(ch+1) +L" record??";
: if(MessageBox(Handle, (TCHAR *)str.c_str(), L"", MB_YESNO|MB_ICONQUESTION) == ID_YES){
: acc_remeasure[ch] = 0;
: auto_remeasure[ch] = 0;
: this->RefreshForm();
: }
|