GetWindowRect】的更多相关文章

1.SystemParametersInfo函数可以获取和设置数量众多的windows系统参数 MFC中可以用 SystemParametersInfo(……) 函数来获取和设置系统信息,如下面例子所示,改变的是系统菜单栏的高度.示例:改变系统菜单栏的高度 NONCLIENTMETRICS ncm;ncm.cbSize = sizeof( NONCLIENTMETRICS );  //这个非常重要,否则下面函数调用将返回0,即ret=0,说明函数调用失败 int ret=::SystemPara…
CWnd.GetWindowRect 参照坐标系:屏幕坐标系,原点为屏幕左上角(0,0)的位置 功能:取得调用窗口CWnd在屏幕坐标系下的RECT坐标 CWnd.GetClientRect 参照坐标系:CWnd窗口的客户区坐标系,原点为客户区左上角(0,0)的位置 功能:取得窗口在自己的客户区(不包括非客户区)坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置 CWnd.ScreenToClient() 参照坐标系:CWnd窗口的客户区坐标系,原点为客户区左上角(0,0)的位置…
GetClientRect()   是得到客户区坐标系下客户区的RECT GetWindowRect()是得到屏幕坐标系下整个窗口的RECT GetSystemMetrics()是获得屏幕分辨率大小 根据不同参数: int width = GetSystemMetrics ( SM_CXSCREEN );  int height= GetSystemMetrics ( SM_CYSCREEN ); 分别获得屏幕的宽和高. int width = GetSystemMetrics ( SM_CXV…
一:关于坐标 MFC中绘图时经常涉及到坐标计算,GetWindowRect和GetClientRect这两个函数,是获取逻辑坐标系中窗口或控件(其实也是窗口)大小和坐标的常用函数了,有什么不一样的? 先说说什么叫逻辑坐标?讲到逻辑坐标,它相对的一个概念是设备坐标,是为了屏蔽掉不同设备属性差别而设置的抽象坐标系,说白了,就是独立于设备坐标的统一接口,程序员不需要去在具体的设备上进行绘图操作,而只需要在虚拟的环境下进行绘图,就是CDC. 然后由设备驱动去负责虚拟坐标到实际设备坐标之间的转换.通常逻辑…
由于项目需要,需要学习CGridCtrl控件的使用,测试控件时发现了一个问题,我无法将控件放在对话框的制定位置. 该问题的原因很容易发现,其实就是GetWindowRec()函数和GetClientRect()函数在不同情况下返回的Rect含义不同,以及CWnd::Create()函数的特性造成的. 目的 在Dialog上创建一个CGridCtrl控件,控件的位置由一个PictureBox控件(拖动到对话框模板上的控件)决定,即在PictureBox控件的位置上创建一个与其大小相同的CGridC…
GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置. GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的. 用GetClientRect返回的RECT结构上左为零, 右下分别对应客户区的宽度和高度; ScreenToClient把屏幕坐标系下的RECT坐标转换…
发现GetClientRect()函数取值不正确,特此找来了些资料以供参考,具体如下,就可以明白怎么回事了. 一:关于坐标 MFC中绘图时经常涉及到坐标计算,GetWindowRect和GetClientRect这两个函数,是获取逻辑坐标系中窗口或控件(其实也是窗口)大小和坐标的常用函数了,有什么不一样的? 先说说什么叫逻辑坐标?讲到逻辑坐标,它相对的一个概念是设备坐标,是为了屏蔽掉不同设备属性差别而设置的抽象坐标系,说白了,就是独立于设备坐标的统一接口,程序员不需要去在具体的设备上进行绘图操作…
示例代码: CRect rect; GetDlgItem(IDC_STATIC_VIEW)->GetWindowRect(&rect); int width=rect.Width(); //获取窗口宽度 int height=rect.Height(); //获取窗口高度 int top=rect.top; int left=rect.left; //完整代码CRect rect; GetWindowRect(&rect); ]; sprintf(info,"窗口的宽度:%…
GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置. GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的. 用GetClientRect返回的RECT结构上左为零, 右下分别对应客户区的宽度和高度; ScreenToClient把屏幕坐标系下的RECT坐标转换…
一:关于坐标 MFC中绘图时经常涉及到坐标计算,GetWindowRect和GetClientRect这两个函数,是获取逻辑坐标系中窗口或控件(其实也是窗口)大小和坐标的常用函数了,有什么不一样的? 先说说什么叫逻辑坐标?讲到逻辑坐标,它相对的一个概念是设备坐标,是为了屏蔽掉不同设备属性差别而设置的抽象坐标系,说白了,就是独立于设备坐标的统一接口,程序员不需要去在具体的设备上进行绘图操作,而只需要在虚拟的环境下进行绘图,就是CDC. 然后由设备驱动去负责虚拟坐标到实际设备坐标之间的转换.通常逻辑…
[DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool GetWindowRect(IntPtr hWnd, ref RECT lpRect); [StructLayout(LayoutKind.Sequential)] public struct RECT { public int Left; //最左坐标 public int Top; //最上坐标 public in…
GetWindowRect,用于取窗口矩形坐标.返回值类型:布尔型(LongBool).执行成功返回真(True),否则返回假(False);参数1类型:整数型(HWND),目标窗口的窗口句柄;参数2类型:坐标结构(RECT),目标窗口的坐标结构地址.在Windows SDK中的函数原型:BOOL GetWindowRect(    HWND hWnd, // handle of window       参数1:目标窗口句柄    LPRECT lpRect  // address of st…
GetWindowRect 函数功能:该函数返回指定窗口的边框矩形的尺寸.该尺寸以相对于屏幕坐标左上角的屏幕坐标给出. 函数原型:BOOL GetWindowRect(HWND hWnd,LPRECTlpRect): 在Visual Studio 2005中,函数原型为void GetWindowRect(LPRECT lpRect) const; 是属于CWnd类的函数. 参数: hWnd:窗口句柄. lpRect:指向一个RECT结构的指针,该结构接收窗口的左上角和右下角的屏幕坐标. 返回值…
1.灵感来源: LZ是纯宅男,一天从早上8:00起一直要呆在电脑旁到晚上12:00左右吧~平时也没人来闲聊几句,刷空间暑假也没啥动态,听音乐吧...~有些确实不好听,于是就不得不打断手头的工作去点击下一曲或是找个好听的歌来听...但是,[移动手锁定鼠标-->移动鼠标关闭当前页面选择音乐软件页面-->选择合适的音乐-->恢复原来的界面] 这一过程也会烦人不少,如果说软件的设计要在用户体验上做足功夫,感觉这一点是软件设计人员很难管住的方面,毕竟操作系统也就这样安排的嘛(当然,有些机智的开发人…
1.使用FindWindow函数获取窗口句柄 示例:使用FindWindow函数获取窗口句柄,然后获得窗口大小,并且移动窗口到指定位置. 我们想获得酷我音乐盒的窗口句柄并移动它,该怎么办呢? 首先打开VC或者VS里面tool中的SPY++点击查找窗口如下: PS:把那个靶心似的的东西移动到想查找的窗口上,这里是酷我音乐盒,下面会出现窗口的信息,包括窗口的句柄.名字.类.类型.大小和位置.点击OK还有更多信息~ PS:因为FindWindowA(LPCSTR lpClassName ,LPCSTR…
所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之文件处理函数 API之打印函数 API之文本和字体函数 API之菜单函数 API之位图.图标和光栅运算函数 API之绘图函数 API之设备场景函数 API之硬件与系统函数 API之进程和线程函数 API之控件与消息函数 1. API之网络函数 WNetAddConnection 创建同一个网络资源的…
Notepad++是一个小巧精悍的编辑器,其使用方法我就不多说了,由于notepad++是使用c++封装的windows句柄以及api来实现的,因此对于其源码的研究有助于学习如何封装自己简单的库(当然不是MTL.MFC或者QT那样大型的库).Notepad++源码:https://github.com/notepad-plus-plus/notepad-plus-plus/releases/tag/v6.7.9.2. 下面是Notepad++源码的目录:         其主目录如第一张图所示,…
实现以下功能: 找到窗体 找到控件(也叫子窗体) 获取内容 获取位置 设置 位置 内容 鼠标点击 示范 1. 找窗体 以操作系统自带的计算器为例 string clWindow = "CalcFrame"; //整个窗口的类名 string tlWindow = "计算器"; //窗口标题 IntPtr ParenthWnd = FindWindow(clWindow, tlWindow); 这样就得到了窗口的句柄 ParenthWnd ,如果 ParenthWnd…
再说:TAQSkinScrollBar 类美化滚动条,http://www.138soft.com/?p=156  里面有人提到不可以滚动 滚动的改善方法: unit AQSkinScrollBar; (* 说明:本单元提取自TdsaSkinAdapter控件,版权归原作者所有. 提取:www.138soft.com *) {$R Scroll.RES} interface uses ComCtrls, Windows, Messages, SysUtils, Classes, Graphics…
http://www.cnblogs.com/Jekhn/archive/2012/08/25/2656656.html 线程,消息函数,SetWindowPos设置窗体位置 if WaitForSingleObject(FEvent,FInterval)=WAIT_OBJECT_0 then用法 //Main Form http://www.cnblogs.com/Jekhn/archive/2012/08/25/2656656.html unit unitMain; interface us…
Win32API.cs   using System;using System.Drawing;using System.Runtime.InteropServices;using Lordal.Window.Form.Lib.General;using Lordal.Window.Form.Lib.Win32; namespace Lordeo.Framework{ /// /// Windows API Functions /// public class Win32API { #regio…
CQWnd.h窗口类定义 // QWnd.h: interface for the CQWnd class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_QWND_H__9158FC5D_DF60_450D_8BE4_270C74A4F256__INCLUDED_) #define AFX_QWND_H__9158FC5D_DF60_450D_8BE4_270…
适用于:.net2.0+ Winform项目 ------------------201508261813更新(源码有更新.Demo未更新)------------------ 重新绘制调整大小手柄(SizeGrip,右下角那个),因为系统自绘的太靠边角,在XP下会盖过那部分边框,视觉体验不好.改进如图:新增的DrawSizeGrip方法就是绘制方法,是protected virtual的,所以如果你看不上我画的这个,可以在子类重写该方法画你自己满意的(题外,画这个我还参考了VS2010的效果,…
傻了吧唧的装双系统.成功的干崩了原本的系统.现在重装VS.闲的没事胡扯几句. WindowsAPI在每一台Windows系统上开放标准API供开发人员调用.功能齐全.在这里只介绍三个部分. 1.利用API控制鼠标键盘. 2.对外部程序的读写和监听 3.对外部程序窗口的改动. 外部程序的意思就是.假设我的程序是360.辣么我能控制腾讯QQ客户端啥的. API的宏.以下任何常量和函数都可以在 const int MOUSEEVENTF_MOVE = 0x0001; // 移动鼠标  const in…
WIN 下的超动态菜单(一)简介 WIN 下的超动态菜单(二)用法 WIN 下的超动态菜单(三)代码 作者:黄山松,发表于博客园:http://www.cnblogs.com/tomview/ 超动态菜单的含义          auto_dynamenu 是一个封装了 WINDOWS 菜单功能的 C++ 类库,用于动态生成 WINDOWS 菜单.所谓的动态有两个含义: (1)菜单是动态创建和生成的: (2)菜单本身的内容也是动态的,是可以根据程序的状态动态确定的         因此这个封装类…
我想通过360demo的学习,大概就能把握duilib的一般用法,同时引申出一些普遍问题,和普遍解决方法.并在此分享一些链接和更多内容的深入学习..... 原谅我是一个菜鸟,什么都想知道得清清楚楚....god,还有一堆书要看,看完是否就会有豁然开朗的感觉呢? stdafx.h: #if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_) #define AFX_STDAFX_H__A9DB83DB_A9…
1.窗口基类:见介绍 顺便贴下出来,留底. .h class WindowImplBase : public CWindowWnd, public INotifyUI, public IMessageFilterUI, public IDialogBuilderCallback, public SkinChangedReceiver { public: WindowImplBase(); virtual ~WindowImplBase(); virtual void OnFinalMessage…
响应窗体的 OnSetCursor 消息响应 鼠标移动到某空间时改变 形状 BOOL CQQBulkDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: 在此添加消息处理程序代码和/或调用默认值 // TODO: 在此添加消息处理程序代码和/或调用默认值 CPoint pos; GetCursorPos(&pos);  //获取当前鼠标位置 CRect rc; GetDlgItem(IDC_Link)->Ge…
--加油,不仅仅是口号! BEGIN---------------------------------- 将工具栏进行停靠.当隐藏后再次点击出现的时候它出现在工具栏顶部了,并没有停靠在原来的位置,如何解决呢? --虽然我们可以用这个函数简单地解决以上的问题: --ShowControlBar(&m_newToolBar,!m_newToolBar.IsWindowVisible(),FALSE); --相信会有不少那些精益求精的不懈追求者 最开始本来使用的是MoveWindow()这个函数,结果…
NotePad功能:1.向上查找,大小写,全字匹配,利用CFindDlg的基类的成员函数实现:switch casePreTranslateMessage()函数http://blog.sina.com.cn/s/blog_9cd8465f01010cwe.htmlhttp://blog.csdn.net/liuzhuomju/article/details/7380539 2.查找对话框只允许出现一次,但是是非模式对话框,为什么?因为1.不阻塞:2.... 利用“if ...else...在主…