[C++] Pencere Sürüklemesini Ekran ile Sınırlandırın

  • Konuyu açan Konuyu açan Kaiser
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 1K

Kaiser

Admin
Admin
Geliştirici
Yardımsever Üye
Mesaj
4.545
Çözümler
451
Beğeni
5.400
Puan
2.849
Ticaret Puanı
0
Merhaba, bu küçük düzenleme oyun içindeki bütün pencerelerin (envanter,pazar ekranı,arkadaş listesi vs.) sadece client boyutu içerisinde sürüklenmesini sağlar.
Kısacası taşma durumunu ortadan kaldırır. Avantaj sağladığı gibi dezavantajları da olabilir. Yine de kullanmak isteyenler için paylaşmak istedim.

Görseller:

ÖNCE:
sBEs6fy.gif


SONRA:
hDYGjLa.gif



Client Src/EterPythonLib/PythonWindowManager.cpp açın ve aratın:

C++:
Genişlet Daralt Kopyala
                pWin->SetPosition(x, y);
                pWin->OnMoveWindow(x, y);

Üstüne ekleyin:
C++:
Genişlet Daralt Kopyala
                if (x + pWin->GetWidth() > UI::CWindowManager::Instance().GetScreenWidth())
                {
                    x = UI::CWindowManager::Instance().GetScreenWidth() - pWin->GetWidth();
                }
                else if (x < 0)
                {
                    x = 0;
                } 
          
                if (y + pWin->GetHeight() > UI::CWindowManager::Instance().GetScreenHeight())
                {
                    y = UI::CWindowManager::Instance().GetScreenHeight() - pWin->GetHeight();
                }
                else if (y < 0)
                {
                    y = 0;
                }
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst