敲代码时,突然发现有一个背景图片无法显示,百思不得其解,最终发现是MoveWindow() SetWindowPos()这两个函数的使用不当造成的. 这里把这两个函数的前世今生给分析一下. 先看MoveWindow()函数,用于改变窗口的位置和尺寸,对于顶层窗口,按照屏幕对齐与左上角,对于子窗口,则对齐与父窗口的左上角. BOOL MoveWindow( HWND hWnd,int x, int y, int nWidth, int nHeight,BOOL bRepaint = TRUE);…
敲代码时,突然发现有一个背景图片无法显示,百思不得其解,最终发现是MoveWindow() SetWindowPos()这两个函数的使用不当造成的. 这里把这两个函数的前世今生给分析一下. 先看MoveWindow()函数,用于改变窗口的位置和尺寸,对于顶层窗口,按照屏幕对齐与左上角,对于子窗口,则对齐与父窗口的左上角. BOOL MoveWindow( HWND hWnd,int x, int y, int nWidth, int nHeight,BOOL bRepaint = TRUE);/…
1. 当WM_PAINT不是由InvalidateRect产生时,即由最大化,最小化等产生时,或者移动产生(移动有时只会产生WM_ERASEBKGND消息)系统先发送WM_ERASEBKGND消息,再发送WM_PAINT消息. 如果处理WM_ERASEBKGND消息时返回FALSE,BeginPaint标记pt.fErase 为TRUE,如果处理WM_ERASEBKGND时返回TRUE,BeginPaint标记pt.fErase为FALSE. 2.当WM_PAINT由InvalidateRect…
1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改. 2 VC++中 WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息. 3 Java学习书推荐:<java编程思想> 4 在VC下执行DOS命令 a. system("md c:\\12"); b. WinExec("Cmd.exe /C md c:\\12", SW_HIDE); c. ShellExecute ShellExecute(NULL,…
原文地址: http://blog.163.com/cumt_xl/blog/static/19071504420136911838683/ Q: What is a top-level window? A: A top-level window is a window that is not child, i.e. it has not WS_CHILD style set. Notes unlike the child windows, a top-level window can be d…
转自:http://blog.sina.com.cn/s/blog_82c346de0100u7kq.html MoveWindow and SetWindowPos (2011-09-14 15:56:51) 转载▼ 标签: 杂谈 分类: MFC MoveWindow仅仅能设置窗体的大小和位置:SetWindowPos拥有MoveWindow的所有功能之外.还能够设置窗体的层叠关系(如.把指定的窗体放在所有窗体的最上层--always   on   top就能够用这个函数.或者把指定的窗体放在…
SetWindowPos即使里面使用的是一样的矩形参数,有时候SetWindowPos还是会改变窗口的大小,真是坑爹!!! MoveWindow就不会改变 mark一下…
首先,在创立窗口对象的时候,CreateWindowEx就可以指定窗口的位置.除此之外,还有三种方法可以改变窗口的位置: procedure TWinControl.CreateWindowHandle(const Params: TCreateParams); begin // 根据之前准备的Params参数使用API创建窗口.其10个参数都是Params的参数,0表示Menu,WindowClass的十项内容只用到了hInstance一项 // important 控件移到正确的显示位置,就…
There are many closely-related concepts involved, and related terms are often misused, even in the official documentation. Important types of windows: top-level windows:  Windows that have no parent window.  The main window for an application is almo…
参考文档:http://www.cnblogs.com/findumars/p/3948315.html SetWindowPos(hWnd: HWND; {窗口句柄}hWndInsertAfter: HWND; {窗口的 Z 顺序}X, Y: Integer; {位置}cx, cy: Integer; {大小}uFlags: UINT {选项}): BOOL; //hWndInsertAfter 参数可选值:HWND_TOP = 0; {在前面}HWND_BOTTOM = 1; {在后面}HW…