第4讲windows编程机制(1)(编辑修改稿)内容摘要:
对应的那一位( bit)为 1,其余的 bit都为 0。 33 --窗口类的类型 使用 goto definition,发现 CS_VREDRAW=0x0001,CS_HREDRAW=0x0002, CS_DBLCLKS =0x0008, CS_NOCLOSE=0x0200。 共同点就是只有一位为 1,其余位都为 0。 如果希望某一变量的值既有 CS_VREDRAW又有 CS_HREDRAW特性,可使用 或 运算,如: style=CS_VREDRAW | CS_HREDRAW ; 如果希望在某一变量原有的几个特征上去掉其中一个特征,用 取反 ( ~)之后再进行 与 ( amp。 )运算。 如在刚才的 style的基础上去掉 CS_NOCLOSE特征,可以用: style=styleamp。 ~CS_NOCLOSE; 34 --窗口过程函数 lpfnWndProc:指定了这一类型窗口的过程函数,也称回调函数。 回调函数的原理:当应用程序收到给某一窗口的消息时,就应该调用某一函数来处理这条消息。 这一调用过程不用应用程序自己来实施,而由操作系统来完成,但是,回调函数本身的代码必须由应用程序自己完成。 对于一条消息,操作系统到底调用应用程序中的哪个函数(回调函数)来处理呢。 操作系统调用的就是接受消息的窗口所属的类型中的 lpfnWndProc成员指定的函数。 每一种不同类型的窗口都有自己专用的回调函数,该函数就是通过 lpfnWndProc成员指定的。 35 --窗口过程函数 举例:汽车厂家生产汽车好比应用程序创建窗口,用户使用汽车好比操作系统管理窗口,某种汽车在销售前就指定好了修理站(类似回调函数),当用户的汽车出现故障后(类似窗口收到消息),汽车用户(类似操作系统)自己直接找到修理站去修理,不用厂家(类似应用程序)亲自将车送到修理站去修理,但修理站还得由厂家事先建造好。 36 --设计窗口类的示例代码 WNDCLASS wndcls。 =CS_HREDRAW | CS_VREDRAW。 =0。 =0。 =(HBRUSH)GetStockObject(BLACK_BRUSH)。 =LoadCursor(NULL,IDC_CROSS)。 =LoadIcon(NULL,IDI_ERROR)。 =hInstance。 =WindowProc。 =xiexin20xx。 =NULL。 37 注册窗口类 刚才有: WNDCLASS wndcls。 所以: RegisterClass(amp。 wndcls)。 ATOM RegisterClass( CONST WNDCLASS *lpWndClass)。 参数 lpWndClass:设计窗口类的对象指针 38 创建窗口 HWND CreateWindow( LPCTSTR lpClassName, // to registered class name LPCTSTR lpWindowName, //2. pointer to window name DWORD dwStyle, // style int x, // position of window int y, //5. vertical position of window int nWidth, //6. window width int nHeight, // height HWND hWndParent, //8. handle to parent or owner window HMENU hMenu, // to menu or childwindow identifier HANDLE hInstance, // to application instance LPVOID lpParam //11. pointer to windowcreation data )。 39 -- 创建窗口 的示例代码 HWND hwnd。 hwnd=CreateWindow(xiexin20xx,My window, WS_OVERLAPPEDWINDOW, 0,0,600,400,NULL,NULL,hInstance,NULL)。 注:创建成功后,返回系统分配给窗口句柄,否则返回NULL。 因此要用一个句柄变量(如 hwnd)来保存 WS_OVERLAPPEDWINDOW类型 的窗口具有: Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. 40 显示及更新窗口 BOOL ShowWindow( HWND hWnd, //窗口创建成功后的句柄 int nCmdShow // 窗口显示状态 )。 BOOL UpdateWindow( HWND hWnd // 窗口创建成功后的句柄 )。 ShowWindow(hwnd ,SW_SHOWNORMAL)。 UpdateWindow(hwnd)。 还有: SW_MAXIMIZE , SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_SHOWDEFAULT 等 41 -- 创建窗口 的示例代码 HWND hwnd。 hwnd=CreateWindow(xiexin20xx,My window, WS_OVERLAPPEDWINDOW, 0,0,600,400,NULL,NULL,hInstance,NULL)。 WS_OVERLAPPEDWINDOW类型 的窗口具有: Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. 42 Windows消息循环 消息队列和在应用程序中的轮询处理 43 Windows消息循环 BOOL GetMessage( LPMSG lpMsg, // 指向消息结构体的地址 HWND hWnd, // 接收消息的窗口句柄 UINT wMsgFilter。第4讲windows编程机制(1)(编辑修改稿)
相关推荐
Ae92d)e321(d41 34341ttC ti Ae94d)e321(d21 34342ttC ti A)(e92)(61 341 ttitC A)(e94)(61 342 ttitC 清华大学电机系 A5)0(1 i 0)0(2 i)0()0( 21 ii而电感电流发生跃变 3. 电路如图所示。 T=0时开关 S断开。
的方式,其值可以是以下枚举成员之一。 Clamp:纹理或渐变没有平铺; Tile:平铺渐变或纹理; TileFlipX:水平反转纹理或渐变,然后平铺该纹理或渐变; TileFlipY垂直反转纹理或渐变,然后平铺该纹理或渐变; TileFlipXY:水平和垂直反转纹理或渐变,然后平铺该纹理或渐变。 三、画刷 167。 GDI+绘图基础 Graphics ^pGH = eGraphics。
新版新日报(表格模板) 中国第一铅笔股份有限公司铅芯收付日报表2002年1月4日 计划科制订当日 累计 当日 累计 当日 累计 当日 累计合计 4486 5 501001 6051 145 5 501002 111 2001003 101 3001004 101 F 罗 1001005 101 1H 罗 4501007 101 3H 罗 5051008 101 4H 罗 6061009 101
开创了测量弱力的新时代 ” ( 英国物理学家玻印廷语 ) . 3. 使得万有引力定律有了真正的实用价值 , 可测定远离地球的一些天体的质量 、 平均密度等 . 如根据地球表面的重力加速度可以测定地球的质量 . 四、万有引力定律的进一步理解 1. 普遍性: 万有引力是普遍存在于宇宙中的任何有质量的物体 ( 大到天体小到微观粒子 ) 间的相互吸引力 ,
11 kkikiii层的最大结点数第167。 二叉树及其基本性质 性质 3 : 对任何一棵二叉树,度为 0的叶子结点总是比度为 2 的结点多一个,则必存在关系式: n0 = n2+1。 证明: n1为二叉树 T中度为 1的结点数 因为:二叉树中所有结点的度均小于或等于 2 所以:其结点总数 n=n0+n1+n2 又二叉树中 , 除根结点外 , 其余结点都只有一个分支进入。
【 】 或单列选框 【 】 将边框定义为 1 个像素宽的行或列。 2.属性设置 当选择了一个工具后, 在属性面板中,会显示该工具的属性设置。 2.属性设置 新选区 【 】 :指定是否添加新选区; 添加到选区 【 】 :向选区中添加选区,相当于配合 【 shift】 键; 从选区减去 【 】 :从选区中减去选区,相当于配合 【 Alt】 键。 选区交叉 【 】 :选择与其它选区交叉的选区