关于WIN32窗体ID(Windows程序设计第五版)

来源:互联网 发布:js返回上一个页面 编辑:程序博客网 时间:2024/05/17 04:12

Windows平台下每个窗体都有一个ID,窗体创建的时候被设置,主要用来标识子窗体,对不同的窗体,其子窗体的ID可以相同。但同一窗体的不同子窗体必须不同。否则

API如何运行正确:

              HWND GetDlgItem( HWND hDlg,   int nIDDlgItem);

nIDDlgItem: 子窗体的ID

由该API也可以看出,由窗体的ID可得到窗体的句柄,当然还需要其父窗体的句柄作为参数,所以可以进程内不唯一。

标示为红色的参数即为窗体的ID。


   hwndChild[x][y]=CreateWindow(ChildClassName,buffer,WS_CHILDWINDOW|WS_VISIBLE,0,0,0,0,hwnd,(HMENU)(y<<8|x),(HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),NULL);


所以在后面获取X和Y需要

x=idFocus&0xff;

y=(idFocus>>8);


不得不说这样设置多个子窗体Id是很聪明的作法!!!