我做了一个对话框,上面有123456789九个按钮和一个文本框,我要实现点1按钮时文本框内显示数字1,点2时文本框显示2,依此类推,在点击按钮时,按钮弹不上来了,估计死这了,求教如何实现!!!!请高手指点点
部分代码如下:
/*资源表*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = //各个函数的参数注释 :
{
{FRAMEWIN_CreateIndirect,"Password Box Experiment",0,10,10,460,252,0,6},
{EDIT_CreateIndirect,NULL,GUI_ID_EDIT0,135,5,190,40,0,5},
{BUTTON_CreateIndirect,"OK",GUI_ID_OK,240,180,120,30,0,0},
{BUTTON_CreateIndirect,"0",GUI_ID_BUTTON0,170,180,50,30,0,0},
{BUTTON_CreateIndirect,"1",GUI_ID_BUTTON1,100,180,50,30,0,0},
{BUTTON_CreateIndirect,"2",GUI_ID_BUTTON2,100,130,50,30,0,0},
{BUTTON_CreateIndirect,"3",GUI_ID_BUTTON3,170,130,50,30,0,0},
{BUTTON_CreateIndirect,"4",GUI_ID_BUTTON4,240,130,50,30,0,0},
{BUTTON_CreateIndirect,"5",GUI_ID_BUTTON5,310,130,50,30,0,0},
{BUTTON_CreateIndirect,"6",GUI_ID_BUTTON6,100,80,50,30,0,0},
{BUTTON_CreateIndirect,"7",GUI_ID_BUTTON7,170,80,50,30,0,0},
{BUTTON_CreateIndirect,"8",GUI_ID_BUTTON8,240,80,50,30,0,0},
{BUTTON_CreateIndirect,"9",GUI_ID_BUTTON9,310,80,50,30,0,0}
};
/*对话框程序*/
static void _cbCallback(WM_MESSAGE*pMsg) //
{
int NCode,Id;
WM_HWIN hEdit0,hButton0,hButton1,hButton2,hButton3,hButton4,hButton5,hButton6,hButton7,hButton8,hButton9,hButton10;
WM_HWIN hWin = pMsg->hWin;
switch(pMsg->MsgId) //
{
case WM_INIT_DIALOG:
/*获得所有控件的窗口句柄*/
hEdit0 = WM_GetDialogItem(hWin,GUI_ID_EDIT0);
hButton0 = WM_GetDialogItem(hWin,GUI_ID_BUTTON0);
hButton1 = WM_GetDialogItem(hWin,GUI_ID_BUTTON1);
hButton2 = WM_GetDialogItem(hWin,GUI_ID_BUTTON2);
hButton3 = WM_GetDialogItem(hWin,GUI_ID_BUTTON3);
hButton4 = WM_GetDialogItem(hWin,GUI_ID_BUTTON4);
hButton5 = WM_GetDialogItem(hWin,GUI_ID_BUTTON5);
hButton6 = WM_GetDialogItem(hWin,GUI_ID_BUTTON6);
hButton7 = WM_GetDialogItem(hWin,GUI_ID_BUTTON7);
hButton8 = WM_GetDialogItem(hWin,GUI_ID_BUTTON8);
hButton9 = WM_GetDialogItem(hWin,GUI_ID_BUTTON9);
hButton10 = WM_GetDialogItem(hWin,GUI_ID_OK);
/*初始化所有控件*/
BUTTON_SetFont(hButton10, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton10, 1, GUI_GREEN);
BUTTON_SetFont(hButton0, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton0, 1, GUI_GREEN);
BUTTON_SetFont(hButton1, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton1, 1, GUI_GREEN);
BUTTON_SetFont(hButton2, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton2, 1, GUI_GREEN);
BUTTON_SetFont(hButton3, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton3, 1, GUI_GREEN);
BUTTON_SetFont(hButton4, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton4, 1, GUI_GREEN);
BUTTON_SetFont(hButton5, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton5, 1, GUI_GREEN);
BUTTON_SetFont(hButton6, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton6, 1, GUI_GREEN);
BUTTON_SetFont(hButton7, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton7, 1, GUI_GREEN);
BUTTON_SetFont(hButton8, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton8, 1, GUI_GREEN);
BUTTON_SetFont(hButton9, &GUI_Font24B_1);
BUTTON_SetBkColor(hButton9, 1, GUI_GREEN);
EDIT_SetTextAlign(hEdit0,GUI_TA_HCENTER | GUI_TA_VCENTER);
EDIT_SetFont(hEdit0,&GUI_Font32B_1);
case WM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
{
case GUI_KEY_ESCAPE:
GUI_EndDialog(hWin, 1);
break;
case GUI_KEY_ENTER:
GUI_EndDialog(hWin, 0);
break;
}
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode=pMsg->Data.v;
switch(NCode)
{
case WM_NOTIFICATION_RELEASED:
if(Id==GUI_ID_BUTTON0){
EDIT_SetText(hEdit0,"0");} //执行到此 死机,按钮弹不起来,文本框也无法显示0
break;
default:
FRAMEWIN_SetText(hWin,"Dialog - notification received");
}
break;
default:WM_DefaultProc(pMsg);
}
}
|