Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya boleh membuat bentuk tanpa sempadan bergerak di C#?
3
Windows bingkai mudah untuk menyesuaikan saiz dan pergerakan, tetapi ini tidak selalu menjadi pilihan terbaik. Kadang -kadang anda mungkin memerlukan reka bentuk tanpa sempadan, tetapi ini akan membawa masalah: Bagaimana kita boleh menggerakkan tingkap tanpa bingkai? Berikut adalah bagaimana untuk mencapai matlamat ini:Kaedah ini menggunakan tali pinggang simulasi API Win32 tetingkap bar tajuk. Anda memerlukan pemalar dan fungsi berikut:
Dalam program pemprosesan acara Mousedown tetingkap Infinity, kod berikut dicapai:
Simulasi kod ini mengklik bar tingkah laku, yang membolehkan anda memindahkan seluruh tetingkap dengan mengklik mana -mana di dalam tetingkap. Apabila menekan butang tetikus kiri, ia melepaskan penangkapan dan menghantar mesej ke Pengurus Tetingkap, menunjukkan bahawa butang pada "bar tajuk" (HT_CAPTION) dalam tetingkap ditekan. Dengan mensimulasikan tingkah laku ini, anda boleh menggerakkan tingkap seperti sempadan tanpa menjejaskan reka bentuk tanpa sempadan yang diperlukan.
<code class="language-csharp">public const int WM_NCLBUTTONDOWN = 0xA1; public const int HT_CAPTION = 0x2; [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool ReleaseCapture();</code>
Atas ialah kandungan terperinci Bagaimana saya boleh membuat bentuk tanpa sempadan bergerak di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!