ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   нет курсора imgui (https://forum.antichat.xyz/showthread.php?t=1412052)

yung milonov 10.12.2021 23:34

Меню открывается, а курсора нету. Когда использую ImGui::GetIO().MouseDrawCursor = 1; курсор появляется, но двигать им я не могу (в середине экрана он). Как исправить?

Ya Zaregalsya 11.12.2021 03:56

https://www.blast.hk/threads/109783/

yung milonov 11.12.2021 11:56

Цитата:

Сообщение от Ya Zaregalsya

не помогло чет

Ya Zaregalsya 11.12.2021 13:48

Цитата:

Сообщение от yung milonov

не помогло чет

Вот рабочий код, но не исключено, что какие-то строки там не нужны.

C++:





Код:

if
(
Gui
::
bShowWindow
)
{
SF
->
getSAMP
(
)
->
getMisc
(
)
->
ToggleCursor
(
3
,
true
)
;
ImGui
::
GetIO
(
)
.
MouseDrawCursor
=
1
;
ImGui
::
GetIO
(
)
.
ConfigFlags
&=
~
ImGuiConfigFlags_NoMouseCursorChange
;
ImGui
::
SetNextWindowSize
(
ImVec2
(
Gui
::
screenSize
.
x
/
2
,
Gui
::
screenSize
.
y
/
3
)
,
0.0f
)
;
ImGui
::
SetNextWindowPos
(
ImVec2
(
(
Gui
::
screenSize
.
x
/
2
)
*
0.5
,
(
Gui
::
screenSize
.
y
/
2
)
*
0.5
)
,
0.0f
,
ImVec2
(
0.0
,
0.0
)
)
;
ImGui
::
Begin
(
"GUI"
,
&
Gui
::
bShowWindow
,
ImGuiWindowFlags_NoCollapse
|
ImGuiWindowFlags_NoSavedSettings
|
ImGuiWindowFlags_NoResize
)
;
{
.
.
.
}
ImGui
::
End
(
)
;
ImGui
::
GetIO
(
)
.
MouseDrawCursor
=
0
;
ImGui
::
GetIO
(
)
.
ConfigFlags
|=
ImGuiConfigFlags_NoMouseCursorChange
;
}


yung milonov 11.12.2021 14:43

Цитата:

Сообщение от Ya Zaregalsya

Вот рабочий код, но не исключено, что какие-то строки там не нужны.

C++:





Код:

if
(
Gui
::
bShowWindow
)
{
SF
->
getSAMP
(
)
->
getMisc
(
)
->
ToggleCursor
(
3
,
true
)
;
ImGui
::
GetIO
(
)
.
MouseDrawCursor
=
1
;
ImGui
::
GetIO
(
)
.
ConfigFlags
&=
~
ImGuiConfigFlags_NoMouseCursorChange
;
ImGui
::
SetNextWindowSize
(
ImVec2
(
Gui
::
screenSize
.
x
/
2
,
Gui
::
screenSize
.
y
/
3
)
,
0.0f
)
;
ImGui
::
SetNextWindowPos
(
ImVec2
(
(
Gui
::
screenSize
.
x
/
2
)
*
0.5
,
(
Gui
::
screenSize
.
y
/
2
)
*
0.5
)
,
0.0f
,
ImVec2
(
0.0
,
0.0
)
)
;
ImGui
::
Begin
(
"GUI"
,
&
Gui
::
bShowWindow
,
ImGuiWindowFlags_NoCollapse
|
ImGuiWindowFlags_NoSavedSettings
|
ImGuiWindowFlags_NoResize
)
;
{
.
.
.
}
ImGui
::
End
(
)
;
ImGui
::
GetIO
(
)
.
MouseDrawCursor
=
0
;
ImGui
::
GetIO
(
)
.
ConfigFlags
|=
ImGuiConfigFlags_NoMouseCursorChange
;
}



курсор появляется, работает все, но после закрытия окна imgui он не пропадает

Ya Zaregalsya 11.12.2021 18:26

Цитата:

Сообщение от yung milonov

курсор появляется, работает все, но после закрытия окна imgui он не пропадает

Точно, забыл про этот косяк. Если закрывать окно по команде, то курсор пропадает, если по крестику, то остаётся. Завтра попробую решить.

Ya Zaregalsya 16.12.2021 12:25

Цитата:

Сообщение от yung milonov

курсор появляется, работает все, но после закрытия окна imgui он не пропадает

В общем пока понял только одно, что кроме строки SF->getSAMP()->getMisc()->ToggleCursor(3, true); ничего для показа курсора не нужно, по идее когда функция перестаёт вызываться, то курсор сам должен пропадать, но вот почему-то имгуи не даёт ему это сделать.


Время: 16:24