- 1,431
- 789
Из-за чего может не реагировать менюшка на курсор (нажатия, растягивание), при этом скролл меню при помощи колесика и шифта работает?
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<char*>(&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; }
C++:
if (io.WantCaptureKeyboard || io.WantCaptureMouse) {
return true;
}