Membru Începător
Membru Începător
Mesaje: 13
Membru din: 16 Mai 2026, 02:32
  • Reacții: 36
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Membru Începător
    Membru Începător
    Dark mode title bar (follows Windows theme)

    The window title bar switches to dark when Windows is set to dark mode, and updates live when the setting is changed while the client is running.

    Only one file to edit: EterLib/MSWindow.cpp


    1. Search for:
    Code:
    CMSWindow::TWindowClassSet CMSWindow::ms_stWCSet;
    HINSTANCE CMSWindow::ms_hInstance = NULL;
    
    Add below:
    Code:
    // Windows apps-theme setting; missing value (Wine, pre-1809) means light.
    static bool IsSystemDarkMode()
    {
    	DWORD value = 1;
    	DWORD size = sizeof(value);
    	if (::RegGetValueW(HKEY_CURRENT_USER,
    			L"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize",
    			L"AppsUseLightTheme", RRF_RT_REG_DWORD, nullptr, &value, &size) != ERROR_SUCCESS)
    		return false;
    
    	return value == 0;
    }
    
    // dwmapi is loaded dynamically: under Wine the call just fails and the
    // Linux window manager keeps drawing the frame in the desktop theme.
    static void ApplySystemTitleBarTheme(HWND hWnd)
    {
    	using DwmSetWindowAttributeFn = HRESULT(WINAPI*)(HWND, DWORD, LPCVOID, DWORD);
    	constexpr DWORD UseImmersiveDarkMode = 20;
    	constexpr DWORD UseImmersiveDarkModeBefore20H1 = 19;
    
    	static HMODULE s_dwm = ::LoadLibraryA("dwmapi.dll");
    	if (!s_dwm)
    		return;
    
    	static auto s_setAttr =
    		reinterpret_cast<DwmSetWindowAttributeFn>(
    			::GetProcAddress(s_dwm, "DwmSetWindowAttribute"));
    
    	if (!s_setAttr)
    		return;
    
    	BOOL dark = IsSystemDarkMode() ? TRUE : FALSE;
    	if (FAILED(s_setAttr(hWnd, UseImmersiveDarkMode, &dark, sizeof(dark))))
    		s_setAttr(hWnd, UseImmersiveDarkModeBefore20H1, &dark, sizeof(dark));
    }
    

    2. Search for:
    Code:
    		case WM_ACTIVATEAPP:
    			m_isActive = (wParam == WA_ACTIVE) || (wParam == WA_CLICKACTIVE);
    			break;
    
    Add below:
    Code:
    		// Sent when the user toggles light/dark mode while the client runs.
    		case WM_SETTINGCHANGE:
    			if (lParam && ::lstrcmpiW((LPCWSTR)lParam, L"ImmersiveColorSet") == 0)
    			{
    				ApplySystemTitleBarTheme(hWnd);
    				::SetWindowPos(hWnd, nullptr, 0, 0, 0, 0,
    					SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);
    			}
    			break;
    

    3. Search for (inside CMSWindow::Create):
    Code:
    	SetWindowLongPtrW(m_hWnd, GWLP_USERDATA, (LONG_PTR)this);
    
    Add below:
    Code:
    	ApplySystemTitleBarTheme(m_hWnd);
    

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    • Subiecte similare

      • de NIX » » în FIX-uri
        0
        Răspunsuri
        634
        Vizualizări
        de NIX
      • de Cassie » » în Sisteme Metin2
        0
        Răspunsuri
        1401
        Vizualizări
        de Cassie
      • de SCOOB » » în FIX-uri
        0
        Răspunsuri
        593
        Vizualizări
        de SCOOB
      • de qPastarnac » » în FIX-uri
        11
        Răspunsuri
        2022
        Vizualizări
        de SCOOB
      • de dedu4818 » » în Servere Metin2
        0
        Răspunsuri
        783
        Vizualizări
        de dedu4818

    Înapoi la “Îmbunătățiri”

    Informații

    Utilizatori ce navighează pe acest forum: _supermago, Alex Ivan, alexmrn6322, chiefbool, chr1stian, Hound, Kori și 6 vizitatori

    Discord ID copiat: