private void PerformWmPaint_WmPrintClient(ref Message m, bool isPaintMessage) { PAINTSTRUCT paintstruct1; RECT rect1; Rectangle rectangle1; paintstruct1 = new PAINTSTRUCT(); IntPtr ptr1 = (isPaintMessage ? User32.BeginPaint(m.HWnd, ref paintstruct1) : m.WParam); rect1 = new RECT(); User32.GetWindowRect(Handle, ref rect1); rectangle1 = new Rectangle(0, 0, rect1.right - rect1.left, rect1.bottom - rect1.top); using (Graphics graphics1 = Graphics.FromHdc(ptr1)) { Bitmap bitmap1 = new Bitmap(rectangle1.Width, rectangle1.Height); using (Graphics graphics2 = Graphics.FromImage(bitmap1)) PerformPaint(new PaintEventArgs(graphics2, rectangle1)); graphics1.DrawImageUnscaled(bitmap1, 0, 0); } if (isPaintMessage) { User32.EndPaint(m.HWnd, ref paintstruct1); } }
internal static extern bool EndPaint(IntPtr hWnd, ref PAINTSTRUCT ps);
internal static extern IntPtr BeginPaint(IntPtr hWnd, ref PAINTSTRUCT ps);