hDC=GetDC(hWnd);
TextOut(hDC,2,5,LPCSTR(figura_schetchik),2);
HWND button1->TextOut??
Сцена сделана на основе вин апи.Как к этой кнопке сделать типа как на бейсике button.caption или button.text??
button1->SetText("");??? вроде не прокатывает.
И еще есть вариант
Код:
но фигура счетчик это GLint надо LPSTR
Как преобразовать в строку на опенгл?
поиском по форуму воспользуйся, учитывая, что Glint тоже что и int. Ну, а чтобы текст установить используй SetWindowText.
лучше напиши прямой ответ,если не знаешь не отвечай вообще
Цитата: gongex
Как преобразовать в строку на опенгл?
С такими познаниями в OpenGL, С и WinAPI лучше действительно с бейсика начинать :p
Нету в стандартном OpenGL работы со строками вообще, в Glut есть какие то функции, но то что ты написал это задача С и WinApi. А причём тут кнопочки на винапи, они у тебя что рисуються поверх контекста рендера ? Можно было и не упоминать про
OpenGL, а просто "Как мне с помощью винапи изменить надпись на кнопке"
Вот тебе как изменить название на кнопке, как справедливо полностью ответил на твой вопрос kosfiz
Код:
BOOL SetWindowText
(
HWND hWnd, // дескриптор окна или элемента управления, hWnd пишешь
LPCTSTR lpString // адрес строчки, можешь тут просто "название" написать
);
(
HWND hWnd, // дескриптор окна или элемента управления, hWnd пишешь
LPCTSTR lpString // адрес строчки, можешь тут просто "название" написать
);
Надеюсь ты поймёшь что именно написать "SetWindowText (hWnd, "gongex - супермегакулOpenGLхацкер");"
ps. Вот тебе как вывести текст в OpenGL, коль он тебе так нравиться
Код:
void displayString(char string[], float r, float g, float b, int cx, int y)
{
glColor3f(r, g, b);
int x = cx - ((strlen(string) * 9) / 2);
y = y - 7;
for(unsigned int i = 0; i != strlen(string) - 1; ++i)
{
glRasterPos3f(x, y, 0);
glutBitmapCharacter(GLUT_BITMAP_9_BY_15, string);
x = x + 9;
}
}
{
glColor3f(r, g, b);
int x = cx - ((strlen(string) * 9) / 2);
y = y - 7;
for(unsigned int i = 0; i != strlen(string) - 1; ++i)
{
glRasterPos3f(x, y, 0);
glutBitmapCharacter(GLUT_BITMAP_9_BY_15, string);
x = x + 9;
}
}