本文整理汇总了C#中RECT类的典型用法代码示例。如果您正苦于以下问题:C# RECT类的具体用法?C# RECT怎么用?C# RECT使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RECT类属于命名空间,在下文中一共展示了RECT类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: GetWindowRectangle
public static RECT GetWindowRectangle(IntPtr windowHandle)
{
RECT ret = new RECT();
GetWindowRect(windowHandle, out ret);
return ret;
}
开发者ID:dremin,项目名称:cairoshell,代码行数:7,代码来源:NativeMethods.cs
示例2: UIWindow
protected UIWindow(string title, RECT frame)
{
fTitle = title;
fFrame = frame;
fBounds = new RECT(0, 0, frame.Width, frame.Height);
fSurfaceID = MetaSpace.CreateSurface(title, frame, new OnSurfaceCreatedEventHandler(OnSurfaceCreated));
}
开发者ID:Wiladams,项目名称:NewTOAPIA,代码行数:7,代码来源:UIWindow.cs
示例3: TmrCursor_Tick
private static void TmrCursor_Tick(object sender, EventArgs e)
{
try {
Process[] processes = Process.GetProcesses();
foreach (var p in processes)
{
if (p.ProcessName == "devenv" || p.ProcessName == "notepad") {
Point pos = Cursor.Position;
IntPtr handle = p.MainWindowHandle;
var rectangle = new RECT();
if (!GetWindowRect(handle, ref rectangle)) continue;
var rnd = new Random();
Cursor.Position = new Point(rnd.Next(0, rectangle.Width), rnd.Next(0, rectangle.Height));
mouse_event(MouseeventfLeftdown | MouseeventfLeftup, Cursor.Position.X, Cursor.Position.Y, 0, 0);
Cursor.Position = pos;
}
}
}
catch {
// ignored
}
}
开发者ID:ertseyhan,项目名称:Adana-cCc,代码行数:25,代码来源:frmMain.cs
示例4: GradientRect
public GradientRect(int left, int top, int width, int height, Colorref startColor, Colorref endColor, GradientRectDirection style)
{
fRect = new RECT(left, top, width, height);
fVertices = new TRIVERTEX[2];
fGradientRect = new GRADIENT_RECT[1];
fGradientRect[0] = new GRADIENT_RECT();
SetVertices(left, top, width, height);
// Set Colors for left/top
fVertices[0].Red = startColor.Red16;
fVertices[0].Green = startColor.Green16;
fVertices[0].Blue = startColor.Blue16;
fVertices[0].Alpha = 0x0000;
// Set Colors for right/bottom
fVertices[1].Red = endColor.Red16;
fVertices[1].Green = endColor.Green16;
fVertices[1].Blue = endColor.Blue16;
fVertices[1].Alpha = 0x0000;
fGradientRect[0].UpperLeft = 0;
fGradientRect[0].LowerRight = 1;
fGradientDirection = style;
}
开发者ID:Wiladams,项目名称:NewTOAPIA,代码行数:28,代码来源:GradientRect.cs
示例5: SyncWindowSize
private void SyncWindowSize(bool log)
{
try
{
RECT rect = new RECT();
NativeWindowMethods.GetWindowRect(_windowHandle, ref rect);
var width = rect.Right - rect.Left;
var height = rect.Bottom - rect.Top;
if (log)
{
_logger.Info("SyncWindowSize Top={0} Left={1} Width={2} Height={3}", rect.Top, rect.Left, width, height);
}
_form.InvokeIfRequired(() =>
{
if (_form.WindowState == FormWindowState.Normal)
{
_form.Top = rect.Top;
_form.Left = rect.Left;
_form.Width = rect.Right - rect.Left;
_form.Height = rect.Bottom - rect.Top;
}
});
}
catch (Exception ex)
{
_logger.ErrorException("Error syncing window positions", ex);
}
}
开发者ID:kabellrics,项目名称:Emby.Theater.Windows,代码行数:31,代码来源:WindowSync.cs
示例6: CaptureWindow
public static Image CaptureWindow(IntPtr handle)
{
IntPtr hdcSrc = User32.GetWindowDC(handle);
RECT windowRect = new RECT();
User32.GetWindowRect(handle, ref windowRect);
int width = windowRect.right - windowRect.left;
int height = windowRect.bottom - windowRect.top;
IntPtr hdcDest = Gdi32.CreateCompatibleDC(hdcSrc);
IntPtr hBitmap = Gdi32.CreateCompatibleBitmap(hdcSrc, width, height);
IntPtr hOld = Gdi32.SelectObject(hdcDest, hBitmap);
Gdi32.BitBlt(hdcDest, 0, 0, width, height, hdcSrc, 0, 0, SRCCOPY);
Gdi32.SelectObject(hdcDest, hOld);
Gdi32.DeleteDC(hdcDest);
User32.ReleaseDC(handle, hdcSrc);
Image image = Image.FromHbitmap(hBitmap);
Gdi32.DeleteObject(hBitmap);
return image;
}
开发者ID:sj-ko,项目名称:gbu_gaenari_monitor,代码行数:25,代码来源:ImageCapture.cs
示例7: GetBandRect
public Rectangle GetBandRect(int bandIndex)
{
RECT rect = new RECT();
//int index = GetBandActualIndex(bandIndex);
WindowsAPI.SendMessage(Handle, (int)RebarMessages.RB_GETRECT, bandIndex, ref rect);
return new Rectangle(rect.left, rect.top, rect.right-rect.left, rect.bottom-rect.top);
}
开发者ID:sillsdev,项目名称:CarlaLegacy,代码行数:7,代码来源:Rebar.cs
示例8: Capture
public static Bitmap Capture(RECT rect)
{
int width = rect.Right - rect.Left;
int height = rect.Bottom - rect.Top;
try
{
var bitmap = new Bitmap(width, height);
Graphics g = Graphics.FromImage(bitmap);
g.CopyFromScreen(new Point(rect.Left, rect.Top), new Point(0, 0),
new Size(width, height));
IntPtr dc = g.GetHdc();
g.ReleaseHdc(dc);
// bitmap.Save(Path + "\\" + GenerateFileName() + ".png", ImageFormat.Png);
//Console.WriteLine("Captured");
//g.Clear(Color.Transparent);
return bitmap;
}
catch (Exception)
{
return null;
}
}
开发者ID:ZhuGongpu,项目名称:CloudX,代码行数:25,代码来源:WindowCaptureUtility.cs
示例9: CheckBounds
/// <summary>
///
/// </summary>
/// <param name="hWnd">被覆盖控件句柄。</param>
internal void CheckBounds(IntPtr hWnd)
{
RECT controlRect = new RECT();
RECT maskRect = new RECT();
NativeMethods.GetWindowRect(base.Handle, ref maskRect);
NativeMethods.GetWindowRect(hWnd, ref controlRect);
uint uFlag =
SWP.SWP_NOACTIVATE |
SWP.SWP_NOOWNERZORDER |
SWP.SWP_NOZORDER;
if (!NativeMethods.EqualRect(ref controlRect, ref maskRect))
{
Point point = new Point(controlRect.Left, controlRect.Top);
IntPtr hParent = NativeMethods.GetParent(base.Handle);
NativeMethods.ScreenToClient(hParent, ref point);
NativeMethods.SetWindowPos(
base.Handle,
IntPtr.Zero,
point.X,
point.Y,
controlRect.Right - controlRect.Left,
controlRect.Bottom - controlRect.Top,
uFlag);
}
}
开发者ID:songques,项目名称:CSSIM_Solution,代码行数:33,代码来源:MaskControlBase.cs
示例10: RemoveBorder
public static void RemoveBorder(IntPtr hwnd)
{
const int SWP_FRAMECHANGED = 0x0020;
const int GWL_STYLE = -16;
const int GWL_EXSTYLE = -20;
const int WS_SYSMENU = 524288;
const int WS_THICKFRAME = 262144;
const int WS_MINIMIZE = 536870912;
const int WS_MAXIMIZE = 16777216;
const int WS_BORDER = 8388608;
const int WS_DLGFRAME = 4194304;
const int WS_CAPTION = WS_BORDER | WS_DLGFRAME;
const int WS_EX_DLGMODALFRAME = 1;
const int WS_EX_CLIENTEDGE = 512;
const int WS_EX_STATICEDGE = 131072;
var style = GetWindowLong(hwnd, GWL_STYLE) & ~(WS_CAPTION | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE | WS_SYSMENU);
SetWindowLong(hwnd, GWL_STYLE, style);
var exst = GetWindowLong(hwnd, GWL_EXSTYLE) & ~(WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE | WS_EX_STATICEDGE);
SetWindowLong(hwnd, GWL_EXSTYLE, exst);
var rect = new RECT();
var ok = GetWindowRect(hwnd, out rect)
&& SetWindowPos(hwnd, 0, rect.X, rect.Y, rect.Width, rect.Height, SWP_FRAMECHANGED);
if (!ok)
throw new Exception("Error, can't remove border apparently.");
}
开发者ID:JaapSuter,项目名称:Pentacorn,代码行数:28,代码来源:Interop.cs
示例11: CreateSurface
public static UISurface CreateSurface(string title, RECT frame, Guid uniqueID)
{
UISurface newSurface = new UISurface(title, frame, uniqueID);
newSurface.ClearToColor(RGBColor.LtGray);
return newSurface;
}
开发者ID:Wiladams,项目名称:NewTOAPIA,代码行数:7,代码来源:UISurface.cs
示例12: FindWindow
/// <summary>
/// 根据窗口标题获取窗口的大小和位置(当多个标题相同的窗体存在时,默认获取上一个活动的窗体)
/// </summary>
/// <param name="WindowTitle">窗口标题(字符串不能有任何差别)</param>
/// <returns>窗口的大小和位置(System.Drawing.Rectangle)</returns>
public static System.Drawing.Rectangle FindWindow(string WindowTitle)
{
RECT rect = new RECT();
string lpClassName = null;
GetWindowRect(FindWindow(lpClassName, WindowTitle), ref rect);
return new System.Drawing.Rectangle(rect.Left, rect.Top, rect.Right - rect.Left, rect.Bottom - rect.Top);
}
开发者ID:yanyuzhy,项目名称:LolAutoPlay,代码行数:12,代码来源:My.cs
示例13: GradientRect
public GradientRect(int left, int top, int width, int height, uint startColor, uint endColor, GradientRectDirection style)
{
fRect = new RECT(left, top, width, height);
fVertices = new TRIVERTEX[2];
fGradientRect = new GRADIENT_RECT[1];
fGradientRect[0] = new GRADIENT_RECT();
SetVertices(left, top, width, height);
// Set Colors for left/top
fVertices[0].Red = (ushort)(RGBColor.R(startColor) << 8);
fVertices[0].Green = (ushort)(RGBColor.G(startColor) << 8);
fVertices[0].Blue = (ushort)(RGBColor.B(startColor) << 8);
fVertices[0].Alpha = 0x0000;
// Set Colors for right/bottom
fVertices[1].Red = (ushort)(RGBColor.R(endColor) << 8);
fVertices[1].Green = (ushort)(RGBColor.G(endColor) << 8);
fVertices[1].Blue = (ushort)(RGBColor.B(endColor) << 8);
fVertices[1].Alpha = 0x0000;
fGradientRect[0].UpperLeft = 0;
fGradientRect[0].LowerRight = 1;
fGradientDirection = style;
}
开发者ID:Wiladams,项目名称:NewTOAPIA,代码行数:28,代码来源:GradientRect.cs
示例14: Pencil
public Pencil(uint colorref)
{
fColor = colorref;
//fPen = new Pen(Guid.NewGuid(), colorref, PenStyle.Solid, PenType.Cosmetic, PenJoinStyle.Round, PenEndCap.Round, 1);
fPen = new CosmeticPen(PenStyle.Solid, fColor, Guid.NewGuid());
fDrawingBounds = RECT.Empty;
}
开发者ID:Wiladams,项目名称:NewTOAPIA,代码行数:7,代码来源:Pencil.cs
示例15: PrintWindow
public static Bitmap PrintWindow(IntPtr hwnd)
{
RECT rc = new RECT();
User32.GetWindowRect(hwnd, ref rc);
Bitmap bmp = new Bitmap(rc.Width, rc.Height, PixelFormat.Format32bppArgb);
Graphics gfxBmp = Graphics.FromImage(bmp);
IntPtr hdcBitmap = gfxBmp.GetHdc();
bool succeeded = User32.PrintWindow(hwnd, hdcBitmap, 0);
gfxBmp.ReleaseHdc(hdcBitmap);
if (!succeeded)
{
gfxBmp.FillRectangle(new SolidBrush(Color.Gray), new Rectangle(Point.Empty, bmp.Size));
}
IntPtr hRgn = Gdi32.CreateRectRgn(0, 0, 0, 0);
User32.GetWindowRgn(hwnd, hRgn);
Region region = Region.FromHrgn(hRgn);
if (!region.IsEmpty(gfxBmp))
{
gfxBmp.ExcludeClip(region);
gfxBmp.Clear(Color.Transparent);
}
gfxBmp.Dispose();
return bmp;
}
开发者ID:grozeille,项目名称:WebPaparazzi,代码行数:25,代码来源:Utilities.cs
示例16: CaptureScreen
/// <summary>
/// Снятие скриншота окна
/// </summary>
/// <returns>Скрин или null в случае неудачи</returns>
public Bitmap CaptureScreen()
{
if (Handle == IntPtr.Zero) return null;
RECT windowRect = new RECT();
GetWindowRect(Handle, ref windowRect);
var Left = windowRect.left + config.xOffset;
var Top = windowRect.top + config.yOffset;
int h = windowRect.right - Left;
int w = windowRect.bottom - Top;
if (h > config.maxHeight) h = config.maxHeight;
if (w > config.maxWidth) w = config.maxWidth;
Bitmap BMP = new Bitmap(w, h, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
System.Drawing.Graphics GFX = System.Drawing.Graphics.FromImage(BMP);
IntPtr del = GFX.GetHdc();
IntPtr dc2 = GetWindowDC(Handle);
//CopyPixelOperation.SourceCopy | CopyPixelOperation.CaptureBlt
BitBlt(del, 0, 0, BMP.Width, BMP.Height, dc2, config.xOffset, config.yOffset, (int)(CopyPixelOperation.SourceCopy | CopyPixelOperation.CaptureBlt));
GFX.ReleaseHdc(del);
ReleaseDC(Handle, dc2);
return BMP;
}
开发者ID:PakosChivaldori,项目名称:KMine,代码行数:30,代码来源:Window.cs
示例17: GetWindowSize
private Dictionary<string, int> GetWindowSize(string processName)
{
IntPtr handle = IntPtr.Zero;
foreach (Process process in Process.GetProcesses())
{
if (process.MainWindowTitle.IndexOf(processName) >= 0)
{
handle = process.MainWindowHandle;
}
}
if (handle == IntPtr.Zero)
throw new WindowNotFoundException();
RECT rect = new RECT(); POINT point = new POINT();
GetClientRect(handle, out rect);
ClientToScreen(handle, out point);
var result = new Dictionary<string, int>();
result.Add("width", (int)(rect.right - rect.left));
result.Add("height", (int)(rect.bottom - rect.top));
result.Add("x", (int)point.x);
result.Add("y", (int)point.y);
return result;
}
开发者ID:mok-aster,项目名称:NasneCapture,代码行数:25,代码来源:WIndowCapture.cs
示例18: OnCreateSurface
public virtual void OnCreateSurface(string title, RECT frame, Guid uniqueID)
{
if (null != OnCreateSurfaceEvent)
OnCreateSurfaceEvent(title, frame, uniqueID);
OnSurfaceCreated(uniqueID);
}
开发者ID:Wiladams,项目名称:NewTOAPIA,代码行数:7,代码来源:SpaceControlDelegate.cs
示例19: DrawGlyphWithColors
public int DrawGlyphWithColors(IntPtr hdc, RECT[] pRect, int iMarkerType,
IVsTextMarkerColorSet pMarkerColors, uint dwGlyphDrawFlags, int iLineHeight)
{
RECT rect = pRect[0];
int rectWidth = rect.right - rect.left;
int lineWidth = 8;// 2 + rectWidth / 20;
uint clrFore;
uint clrBack;
ErrorHandler.ThrowOnFailure(pMarkerColors.GetMarkerColors(JiraLinkMarginMarkerType.Id, out clrFore, out clrBack));
int drawColorref = (int)clrFore;
Color color = Color.FromArgb(
drawColorref & 0x0000FF,
(drawColorref & 0x00FF00) >> 8,
(drawColorref & 0xFF0000) >> 16
);
using (Graphics graphics = Graphics.FromHdc(hdc))
using (SolidBrush brush = new SolidBrush(color))
{
graphics.FillRectangle(brush, rect.left + (rectWidth - lineWidth) / 2, rect.top, lineWidth, rect.bottom - rect.top);
}
return VSConstants.S_OK;
}
开发者ID:spncrgr,项目名称:connector-idea,代码行数:26,代码来源:JiraLinkBackgroundMarkerType.cs
示例20: GetWindowRect
public static Rectangle GetWindowRect(IntPtr hWnd)
{
RECT rect = new RECT();
GetWindowRect(hWnd, ref rect);
return new Rectangle(rect.Left, rect.Top, rect.Right - rect.Left, rect.Bottom - rect.Top);
}
开发者ID:anirnet,项目名称:raf-manager,代码行数:7,代码来源:WinAPI.cs
注:本文中的RECT类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论