PPSM嵌入式RTOS中的窗口系统开发
③ WS_POPUP类窗口的屏幕活动区和窗口活动区的ID。
④ 窗口当前的光标位置。
⑤ 窗口中控件的列表。
⑥ 窗口保存其覆盖区域的内存指针。
⑦ 前一个窗口的指针。用以在关闭窗口时重设应用程序的顶层窗口。
⑧ 窗口的缺省输入法类型和打开的输入法控件的句柄。
⑨ 窗口的焦点控件的句柄。焦点控件将最先处理字符输入的消息。
⑩ 窗口的消息处理函数指针。
3.2 窗口的创建和操作函数介绍
① HWND CreateWindow(WNDCLASS &wndCls);
WNDCLASS结构定义窗口的基本属性,如位置、大小、标题、风格等,见上面所述。该函数为窗口运行时的结构分配内存,初始化属性,并返回窗口结构的指针。
② BOOL ShowWindow(HWND hWnd);
显示一个窗口。其工作包括:挂起以前的活动区;保存窗口的覆盖区域的图形;
如果是有WS_POPUP属性的窗口,须设定屏幕和窗口的活动区;向该窗口的消息处理函数传递WM_ONSHOW消息(事实上是直接调用该函数),以提供编程人员在窗口上绘制控件以外的图形的机会;如果是没有WS_NOSTATEBAR的窗口,添加Statebar控件;依次调用窗口中各控件的绘制函数以显示控件;设第一个有焦点控件为窗口当前的焦点控件。
③ BOOL CloseWindow(HWND hWnd);
关闭一个窗口。其工作包括:向该窗口的事件处理函数发送WM_CLOSE消息,如果返回FALSE则退出本函数,如果返回TRUE则继续以下工作 ——恢复窗口覆盖区图形;释放POPUP类窗口的屏幕活动区和窗口活动区; 依次释放该窗口包含的控件;隐藏光标;释放该窗口结构占用的内存;向上层窗口发送WM_TOPWNDCLOSE的消息,该消息用于下层窗口更新需要自动变化的界面,如股票实时大盘数据表;设置该窗口的前一层窗口为应用程序的顶层窗口。
④ WNDPROC函数指针类型。
typedef BOOL (*WNDEVENTHANDLE)
(HWND hWnd, U16 msgType, U32 id,P_U32 data, U32 size);
⑤ DefWndProc(HWND hWnd, U16 msgType, U32 id,P_U32 data, U32 size);
处理如POPUP窗口区外的点击自动关闭窗口之类的消息和行为。
⑥U32 WndAddCommand(HWND hWnd, P_S8 cmdName, U16 cmdLen, P_U8 cmdIcon);
向有状态条控件的窗口增加应用程序定义的命令。命令出现在状态条的弹出菜单中。该函数返回一个唯一的命令ID,用于窗口处理WM_COMMAND消息时区分命令。
⑦ BOOL WndDelCommand(HWND hWnd, HCMD cmdId);
删除一条命令。
⑧ U32 WndSetCommand(HWND, U32 cmdId, P_S8 newCaption);
修改一条命令。
⑨ 其它函数。因篇幅原因,不能完全列出和解释所有的窗口操作函数。
《PPSM嵌入式RTOS中的窗口系统开发(第3页)》