// 计算结果是25个子窗口的ID,即idFocus
hwnd, (HMENU) (y << 8 | x),
// 现在要把idFocus拆开得到 x,y
x = idFocus & 0xFF ;
y = idFocus >> 8 ;
#include <stdio.h>
int main(int argc, char *argv[])
{
int i,j;
int id[5][5];//子窗口的ID
for(i=0;i<5;i++)
for(j=0;j<5;j++)id[i][j]= j<<8|i; //j左移动8bit 再与i 或运算
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
printf("%d\t",id[i][j]);
if(j==4)printf("\n");
}
printf("--------------------------------------\n");
int x,y;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
x = id[i][j] & 0xFF;// 看不懂......1111 1111
y = id[i][j]>>8;
printf("%d,%d\t",x,y);
if(j==4)printf("\n");
}
printf("Hello, world!\n");
return 0;
}
把id[i][j] 用十六进制输出 :printf("%0X\t",id[i][j]);