您的位置:首页 > 其它

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

2012-11-20 16:50 225 查看
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是很聪明的作法!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: