Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

C++ Как реализовать нажатие на текст? ImGui

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
22 Дек 2018
Сообщения
362
Реакции
21
Привет!
Не знаю с чего начать, опишу ситуацию что бы было понятнее.

создал imgui авторизацию, и сделал снизу текст для меню регистрации и авторизации.

там надпись такая:
Don’t have an account? Sign Up!
Already have account? Sign In!

каким образом мне реализовать нажатие на этот текст? И при нажатии уже перекидывало на окно авторизации или регистрации.

И как лучше оформить нажатие, что бы только на надпись Sign Up!, Sign In! можно было нажать или на весь текст?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет!
Не знаю с чего начать, опишу ситуацию что бы было понятнее.

создал imgui авторизацию, и сделал снизу текст для меню регистрации и авторизации.

там надпись такая:
Don’t have an account? Sign Up!
Already have account? Sign In!

каким образом мне реализовать нажатие на этот текст? И при нажатии уже перекидывало на окно авторизации или регистрации.

И как лучше оформить нажатие, что бы только на надпись Sign Up!, Sign In! можно было нажать или на весь текст?

C++:
Expand Collapse Copy
ImGui::Text( "Test" );
if ( ImGui::IsItemClicked( ) )
{
    MessageBoxA( 0, "Clicked on text", "", MB_OK );
}
 
Привет!
Не знаю с чего начать, опишу ситуацию что бы было понятнее.

создал imgui авторизацию, и сделал снизу текст для меню регистрации и авторизации.

там надпись такая:
Don’t have an account? Sign Up!
Already have account? Sign In!

каким образом мне реализовать нажатие на этот текст? И при нажатии уже перекидывало на окно авторизации или регистрации.

И как лучше оформить нажатие, что бы только на надпись Sign Up!, Sign In! можно было нажать или на весь текст?
Кнопка с прозрачным фоном
 
Если я верно понял, это так :
C++:
Expand Collapse Copy
if (ImGui::Button("Login"))
{
    auth = Auth(username, password);
}
Если чего отпиши в лс
Нет, это не кнопка, я так понимаю они реализовывают нажатие на текст.
C++:
Expand Collapse Copy
ImGui::Text( "Test" );
if ( ImGui::IsItemClicked( ) )
{
    MessageBoxA( 0, "Clicked on text", "", MB_OK );
}
А что нужно писать в IsItemClicked?
Мы же пишем ImGui::Text(), получается внутри IsItemClicked этой функции нужно что-то писать что бы код понимал что мы хотим
Кнопка с прозрачным фоном
Пример?
Если можно с фото или видео код
 
А что нужно писать в IsItemClicked?
Мы же пишем ImGui::Text(), получается внутри IsItemClicked этой функции нужно что-то писать что бы код понимал что мы хотим
ничего не надо, он берёт последний созданный элемент
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А что нужно писать в IsItemClicked?
Мы же пишем ImGui::Text(), получается внутри IsItemClicked этой функции нужно что-то писать что бы код понимал что мы хотим
Просто под ImGui::Text пишешь это и всё
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
Expand Collapse Copy
ImGui::Text( "Test" );
if ( ImGui::IsItemClicked( ) )
{
    MessageBoxA( 0, "Clicked on text", "", MB_OK );
}
Как сделать после данной процедуры блокировку нажатия мышки?

может не так выразился, опишу ситуацию, при нажатии на текст перекидывает на другую форму, где у меня сразу кнопка Register идет, и сразу после перехода идет нажатие мышкой на эту кнопку Register.
 
Как сделать после данной процедуры блокировку нажатия мышки?

может не так выразился, опишу ситуацию, при нажатии на текст перекидывает на другую форму, где у меня сразу кнопка Register идет, и сразу после перехода идет нажатие мышкой на эту кнопку Register.
Код:
Expand Collapse Copy
ImGui::Text( "Test" );
if ( ImGui::IsItemClicked( ) )
{   
    ImGuiContext& g = *GImGui;
    g.IO.MouseDown[0] = false;
    MessageBoxA( 0, "Clicked on text", "", MB_OK );
}
Не уверен, попробуй так
 
Код:
Expand Collapse Copy
ImGui::Text( "Test" );
if ( ImGui::IsItemClicked( ) )
{  
    ImGuiContext& g = *GImGui;
    g.IO.MouseDown[0] = false;
    MessageBoxA( 0, "Clicked on text", "", MB_OK );
}
Не уверен, попробуй так
не работает этот способ, идёт нажатие все равно на кнопку, нужно заморозить или вовсе остановить на пару секунд нажатие перед переходом или уже после что бы автоматом происходило нажатие на кнопку Register
 
Назад
Сверху Снизу