Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menyembunyikan Butang Tutup dalam Tetingkap WPF Menggunakan P/Invoke?
Cara Menyembunyikan Butang Tutup dalam Windows WPF: Penyelesaian P/Invoke
Dalam WPF, adalah wajar untuk menyembunyikan butang tutup dalam dialog modal sambil mengekalkan bar tajuk. Walaupun sifat WPF terbina dalam tidak menyediakan keupayaan ini, memanfaatkan P/Invoke menawarkan penyelesaian.
Langkah 1: Isytiharkan Pemalar Berkaitan dan Fungsi DllImport
Mulakan dengan menambah pemalar berikut dan pengisytiharan DllImport ke Tetingkap anda kelas:
private const int GWL_STYLE = -16; private const int WS_SYSMENU = 0x80000; [DllImport("user32.dll", SetLastError = true)] private static extern int GetWindowLong(IntPtr hWnd, int nIndex); [DllImport("user32.dll")] private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
Langkah 2: Sembunyikan Butang Tutup dalam Acara Dimuatkan
Seterusnya, masukkan kod ini dalam acara Dimuatkan Tetingkap:
var hwnd = new WindowInteropHelper(this).Handle; SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
Dijangka Hasil:
Setelah melaksanakan langkah ini, butang tutup akan hilang daripada bar tajuk, manakala bar tajuk itu sendiri kekal kelihatan.
Nota Penting:
Walaupun butang tutup disembunyikan, pengguna masih boleh menutup tetingkap menggunakan pintasan papan kekunci atau bar tugas. Untuk mengelakkan ini, pertimbangkan untuk mengatasi acara OnClosing dan tetapkan Batal kepada benar, seperti yang dicadangkan dalam jawapan lain.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyembunyikan Butang Tutup dalam Tetingkap WPF Menggunakan P/Invoke?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!