From 1a1c8e71fcd14858f595029f089b2d4a00202b32 Mon Sep 17 00:00:00 2001
From: ogi <Administrator@S-OGI-PC>
Date: Fri, 05 Dec 2025 09:24:16 +0900
Subject: [PATCH] プロジェクトファイルを追加。

---
 HotelPms.Share.Windows/GraphicsApi/RegionFormAPI.cs |  118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 118 insertions(+), 0 deletions(-)

diff --git a/HotelPms.Share.Windows/GraphicsApi/RegionFormAPI.cs b/HotelPms.Share.Windows/GraphicsApi/RegionFormAPI.cs
new file mode 100644
index 0000000..0e8dbed
--- /dev/null
+++ b/HotelPms.Share.Windows/GraphicsApi/RegionFormAPI.cs
@@ -0,0 +1,118 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace HotelPms.Share.Windows.GraphicsApi
+{
+    /// <summary>
+    /// 无锯齿
+    /// </summary>
+    public class RegionFormAPI
+    {
+        #region 消息
+        public const int MF_REMOVE = 0x1000;
+
+        public const int SC_RESTORE = 0xF120; //还原
+        public const int SC_MOVE = 0xF010; //移动
+        public const int SC_SIZE = 0xF000; //大小
+        public const int SC_MINIMIZE = 0xF020; //最小化
+        public const int SC_MAXIMIZE = 0xF030; //最大化
+        public const int SC_CLOSE = 0xF060; //关闭 
+
+        public const int WM_SYSCOMMAND = 0x0112;
+        public const int WM_COMMAND = 0x0111;
+
+        public const int GW_HWNDFIRST = 0;
+        public const int GW_HWNDLAST = 1;
+        public const int GW_HWNDNEXT = 2;
+        public const int GW_HWNDPREV = 3;
+        public const int GW_OWNER = 4;
+        public const int GW_CHILD = 5;
+
+        public const int WM_NCCALCSIZE = 0x83;
+        public const int WM_WINDOWPOSCHANGING = 0x46;
+        public const int WM_PAINT = 0xF;
+        public const int WM_CREATE = 0x1;
+        public const int WM_NCCREATE = 0x81;
+        public const int WM_NCPAINT = 0x85;
+        public const int WM_PRINT = 0x317;
+        public const int WM_DESTROY = 0x2;
+        public const int WM_SHOWWINDOW = 0x18;
+        public const int WM_SHARED_MENU = 0x1E2;
+        public const int HC_ACTION = 0;
+        public const int WH_CALLWNDPROC = 4;
+        public const int GWL_WNDPROC = -4;
+
+        public const int WS_SYSMENU = 0x80000;
+        public const int WS_SIZEBOX = 0x40000;
+
+        public const int WS_MAXIMIZEBOX = 0x10000;
+
+        public const int WS_MINIMIZEBOX = 0x20000;
+        #endregion
+        [StructLayout(LayoutKind.Sequential)]
+        public struct Size
+        {
+            public Int32 cx;
+            public Int32 cy;
+
+            public Size(Int32 x, Int32 y)
+            {
+                cx = x;
+                cy = y;
+            }
+        }
+
+        [StructLayout(LayoutKind.Sequential, Pack = 1)]
+        public struct BLENDFUNCTION
+        {
+            public byte BlendOp;
+            public byte BlendFlags;
+            public byte SourceConstantAlpha;
+            public byte AlphaFormat;
+        }
+
+        [StructLayout(LayoutKind.Sequential)]
+        public struct Point
+        {
+            public Int32 x;
+            public Int32 y;
+
+            public Point(Int32 x, Int32 y)
+            {
+                this.x = x;
+                this.y = y;
+            }
+        }
+
+        public const byte AC_SRC_OVER = 0;
+        public const Int32 ULW_ALPHA = 2;
+        public const byte AC_SRC_ALPHA = 1;
+
+        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
+        public static extern IntPtr CreateCompatibleDC(IntPtr hDC);
+
+        [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
+        public static extern IntPtr GetDC(IntPtr hWnd);
+
+        [DllImport("gdi32.dll", ExactSpelling = true)]
+        public static extern IntPtr SelectObject(IntPtr hDC, IntPtr hObj);
+
+        [DllImport("user32.dll", ExactSpelling = true)]
+        public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
+
+        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
+        public static extern int DeleteDC(IntPtr hDC);
+
+        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
+        public static extern int DeleteObject(IntPtr hObj);
+
+        [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
+        public static extern int UpdateLayeredWindow(IntPtr hwnd, IntPtr hdcDst, ref Point pptDst, ref Size psize, IntPtr hdcSrc, ref Point pptSrc, Int32 crKey, ref BLENDFUNCTION pblend, Int32 dwFlags);
+
+        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
+        public static extern IntPtr ExtCreateRegion(IntPtr lpXform, uint nCount, IntPtr rgnData);
+
+        [DllImport("user32")]
+        public static extern int SendMessage(IntPtr hwnd, int msg, int wp, int lp);
+    }
+}

--
Gitblit v1.10.0