
13.10.2024, 00:32
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами:
2055431
Репутация:
3
|
|
Из-за чего может не реагировать менюшка на курсор (нажатия, растягивание), при этом скролл меню при помощи колесика и шифта работает?
C++:
Код:
void
menu
::
set_visible
(
bool
visible
)
{
this
->
visible
=
visible
;
if
(
!
visible
)
sampapi
::
v037r3
::
RefGame
(
)
->
SetCursorMode
(
sampapi
::
v037r3
::
CURSOR_NONE
,
1
)
;
;
}
void
menu
::
present
(
)
{
if
(
!
visible
)
return
;
ImGui_ImplDX9_NewFrame
(
)
;
ImGui_ImplWin32_NewFrame
(
)
;
ImGui
::
NewFrame
(
)
;
ImGui
::
SetNextWindowPos
(
ImVec2
(
RsGlobal
.
maximumWidth
/
2
,
RsGlobal
.
maximumHeight
/
2
)
,
ImGuiCond_FirstUseEver
,
ImVec2
(
0.5
,
0.5
)
)
;
ImGui
::
SetNextWindowSize
(
ImVec2
(
700
,
420
)
,
ImGuiCond_FirstUseEver
)
;
if
(
ImGui
::
Begin
(
"abcde"
,
nullptr
,
ImGuiWindowFlags_NoCollapse
)
)
{
sampapi
::
v037r3
::
RefGame
(
)
->
SetCursorMode
(
sampapi
::
v037r3
::
CURSOR_LOCKCAM
,
0
)
;
// render
ImGui
::
End
(
)
;
}
ImGui
::
EndFrame
(
)
;
ImGui
::
Render
(
)
;
ImGui_ImplDX9_RenderDrawData
(
ImGui
::
GetDrawData
(
)
)
;
}
bool
menu
::
wndproc
(
HWND hwnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
{
switch
(
uMsg
)
{
case
WM_CHAR
:
{
wchar_t
wch
;
MultiByteToWideChar
(
CP_ACP
,
MB_PRECOMPOSED
,
reinterpret_cast
(
&
wParam
)
,
1
,
&
wch
,
1
)
;
wParam
=
wch
;
break
;
}
case
WM_KEYUP
:
if
(
wParam
==
VK_ESCAPE
)
set_visible
(
false
)
;
break
;
}
ImGui_ImplWin32_WndProcHandler
(
hwnd
,
uMsg
,
wParam
,
lParam
)
;
auto
&
io
=
ImGui
::
GetIO
(
)
;
if
(
io
.
WantCaptureKeyboard
||
io
.
WantCaptureMouse
)
{
return
false
;
}
return
true
;
}
|
|
|