다음 코드를 사용하여 win32 창의 제목을 얻은 다음 wostringstream을 사용하여 동일한 창 제목을 변경하려고합니다. 창 제목 플러스 FRS이고 일이 끝나는 어떤 프레임 시간을 표시하는 대신WM_GETTEXT를 사용하여 창 제목 가져 오기
std::wostringstream oss;
while(window->isRunning)
{
oss.str(L"");
oss<<window->getTitle()<<" FPS : "<<100<<" Frame Time"<<100;
window->setText(oss.str());
}
: 여기에 제목 여기
std::wstring Window::getTitle()const
{
int length = SendMessage(hwnd,WM_GETTEXTLENGTH,0,0);
if(length == -1)
return L"";
wchar_t* buffer = new wchar_t[length+1];
SendMessage(hwnd,WM_GETTEXT,length+1,(LPARAM)buffer);
std::wstring str(buffer);
delete[] buffer;
return str;
}
을 얻을 수있는 코드는이를 사용하려고 코드입니다 창 제목을 표시 한 다음 FPS 및 프레임 시간 텍스트를 여러 번 반복합니다. 버퍼 끝에 '\ 0'을 추가하려고 시도했습니다.
buffer[length] = '\0';
어느 것이 문제를 해결하지 못했습니다. getTitle에서 "일부 제목"을 반환하면 모든 것이 올바르게 작동하므로 문제는 getTitle 함수 내부에 있다고 생각합니다.
Lol, 그리고 여기에 무엇이 char 버퍼가 잘못되었는지 확인하려고합니다. 감사합니다! –