2017-03-10 2 views
-3

OpenGl 및 glew 라이브러리를 처음 사용하고 치수가있는 창 제목을 표시하는 데 문제가 있습니다. .diemensions를 사용하여 창을 여는 방법

+0

이 코드는 작동하지 않습니다, 그렇지 않은 :

void resize(GLFWwindow *win, int w, int h) { std::string msg = "Title: " + std::to_string(w) + " " + std::to_string(h); glfwSetWindowTitle(win, msg.c_str()); } 

하고, 기본 기능에,이 콜백을 등록? 'glfwSetWindowTitle' 메서드는 2 개의 인수만을 취합니다. – BDL

+0

예 코드가 작동하지 않습니다. 난 그냥 적절한 너비와 높이를 제목 구현 내에서 표시하는 방법을 모르겠다. 나는이 같은 작동 할 것이라고 생각했다 –

+0

다음 질문 : "어떻게 문자열의 숫자 서식을 지정합니까 ? " – BDL

답변

2

함수는 두 개의 매개 변수 만 필요하며 두 번째 매개 변수는 null로 끝나는 문자열이어야합니다.

숫자를 문자열로 가져 오는 방법에는 여러 가지가 있습니다.

std::stringstream sstr; 
sstr << "DBZ PARODY - " << width << ", " << height; 

다음 창 제목 당신은 크기 조정 이벤트를 캡처하는 콜백을 등록해야

glfwSetWindowTitle(window, sstr.str().c_str()); 
+0

미안 해요 너가 너의 높이와 너비가 똑같이 유지 되길 바라지 않아 미안하다. 너는 그들을 창문의 현재 크기를 업데이트하고 표시 할 필요가있어. –

+2

@ G_programmer24 : 글쎄, 너는 그걸 제안한다. 문자열 형식 및 창 제목 설정이 변경됩니다. C++은 필수적인 언어입니다. 즉, 일어날 일과 일어날 단계를 단계별로 설명합니다. 저는 여러분이 * 선언적 * 용어, 즉 일반적으로 명세, 광범위한 용어가 함께 어울리는 지, 그리고 한 조각이 나머지를 바꿀 때마다 생각하고 있다는 인상하에 있습니다. * 이와 같은 프로그래밍 언어가 있지만 C 및 C++은 그런 종류가 아닙니다. – datenwolf

+0

@ G_programmer24 진지하게, 이것을 탐구하기 전에 기본 자습서를 작성하십시오. 계속한다면 모든 단계에서 어려움을 겪을 것입니다. 작게 시작하십시오. – Aziuth

0

로 구성된 문자열을 전달 : 당신은, 예를 들어, std::stringstream 사용할 수 있습니다. resize 이벤트를받을 때마다 제목을 변경하는 함수 (아래에 서명이 있음)를 만듭니다. 이런 식으로 뭔가 :

int main() 
{ 
    (...) 
    GLFWWindow *win; 
    (...) 
    glfwSetWindowSizeCallback(win, resize); 
    (...) 
}