我在创建了9个按钮时,用的是在窗口上直接创建的,没有用对话框,可是现在我要获得任意按钮的句柄,来操作按钮,怎获得这个按钮的句柄呢?
代码如下:
switch (pMsg->MsgId)
{
case WM_CREATE:
WM_SetFocus(hWin);
_CreateButton(hWin,"O", NUM_Data1,18, 166,78, 32, 0,0);
_CreateButton(hWin,"O", NUM_Data2,116,166,78, 32, 0,0);
_CreateButton(hWin,"O", NUM_Data3,215,166,78, 32, 0,0);
_CreateButton(hWin,"O", NUM_Data4,18, 166,78, 32, 0,0);
_CreateButton(hWin,"O", NUM_Data5,116,166,78, 32, 0,0);
_CreateButton(hWin,"O", NUM_Data6,215,166,78, 32, 0,0);
_CreateButton(hWin,"O", NUM_Data7,18, 166,78, 32, 0,0);
_CreateButton(hWin,"O", NUM_Data8,116,166,78, 32, 0,0);
_CreateButton(hWin,"O", NUM_Data9,215,166,78, 32, 0,0);
hItem = EDIT_CreateEx(210, 3, 107, 28, hWin, WM_CF_SHOW, 0, GUI_ID_EDIT0, 4);、
EDIT_SetFont(hItem, &GUI_Font8x16);
EDIT_SetTextAlign(hItem, GUI_TA_CENTER);
hItem = EDIT_CreateEx(53, 3, 57, 26, hWin, WM_CF_SHOW, 0, GUI_ID_EDIT0, 4);
EDIT_SetFont(hItem, &GUI_Font8x16);
EDIT_SetTextAlign(hItem, GUI_TA_CENTER);
break;
case WM_PAINT :
_PaintFrame();
break;
case WM_NOTIFY_PARENT :
if(pMsg->Data.v==WM_NOTIFICATION_RELEASED)
{
int Id = WM_GetId(pMsg->hWinSrc);
switch (Id)
{
case NUM_Data1 :
case NUM_Data2 :
case NUM_Data3 :
case NUM_Data4 :
case NUM_Data5 :
case NUM_Data6 :
case NUM_Data7 :
case NUM_Data8 :
case NUM_Data9 :
if(Id==Rand){ /****就是这个地方***/怎么获取这个按键的句柄 (BUTTON_Item=WM_GetButton(hWin,Id);)这个没有
/****下面的是设置按钮的颜色******/
BUTTON_SetBkColor (hButton, 1, FRAME_BUTTON_BKCOLOR1);
}
}
break;
//case NUMPAD_ID_9 : //êy×Ö°′¼ü
}
break;
谢谢!!!还是一定要用对话框那种,来获取?? |