|
想问一下,如果创建一个对话框,然后对话框资源表上创建一些EDIT,调用的时候,点击EDIT可以响应一些操作。
但是如果在对话框资源表上不创建资源,而是在初始化函数的时候创建一些EDIT,然后对其进行操作,点击的时候没有响应,不知道是为什么?
static const GUI_WIDGET_CREATE_INFO _aDialogCreate222[] = {
{ FRAMEWIN_CreateIndirect, "", 0, 0, 0, 800,480,0,0},
// { EDIT_CreateIndirect, "", GUI_ID_EDIT1, 275,154,326,30, 0,0},
//{ EDIT_CreateIndirect, "", GUI_ID_EDIT2, 275,210,326,30, 0,0},
//{ EDIT_CreateIndirect, "", GUI_ID_EDIT3, 275,264,326,30, 0,0},
{ BUTTON_CreateIndirect, NULL, GUI_ID_BUTTON8, BTN_X1, BTN_Y,BTN_L, BTN_H, 0,0},
{ BUTTON_CreateIndirect, NULL, GUI_ID_BUTTON9, BTN_X2,BTN_Y,BTN_L, BTN_H, 0,0},
};
void PaintDialog222(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
}
void InitDialog222(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
//FRAMEWIN
FRAMEWIN_SetBarColor(hWin,1,WIN_BARCOLOR);
FRAMEWIN_SetClientColor(hWin,WINDOW_COLOR); //éè???í?§????é?
FRAMEWIN_SetTextColor(hWin,FRAM_FONTCOLOR);//éè??±êìaà?×?ì???é?
FRAMEWIN_SetFont(hWin,&GUI_FontHZ_YouYuan_19);
FRAMEWIN_SetTextAlign(hWin,GUI_TA_VCENTER|GUI_TA_LEFT);
FRAMEWIN_SetTitleHeight(hWin,TITLEBAR);
将资源表中的EDIT屏蔽,然后使用EDIT_CreateEx创建两个EDIT,但是点击的时候没有响应
EDIT_CreateEx(275,105+150,326,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT3,38);
EDIT_CreateEx(275,105+100,326,30,hWin,WM_CF_SHOW,0,GUI_ID_EDIT2,38);
EDIT_SetMaxLen(WM_GetDialogItem(hWin,GUI_ID_EDIT0),38);
EDIT_SetMaxLen(WM_GetDialogItem(hWin,GUI_ID_EDIT1),38);
EDIT_SetMaxLen(WM_GetDialogItem(hWin,GUI_ID_EDIT2),38);
EDIT_SetMaxLen(WM_GetDialogItem(hWin,GUI_ID_EDIT3),38);
EDIT_SetMaxLen(WM_GetDialogItem(hWin,GUI_ID_EDIT4),38);
EDIT_SetMaxLen(WM_GetDialogItem(hWin,GUI_ID_EDIT5),38);
EDIT_SetText(WM_GetDialogItem(hWin,GUI_ID_EDIT0),"aaaaaaaaaaaaaa");//éè??edité???±?μ???é?
EDIT_SetText(WM_GetDialogItem(hWin,GUI_ID_EDIT1),"bbbbbbbbbbbbbb");//éè??edité???±?μ???é?
EDIT_SetText(WM_GetDialogItem(hWin,GUI_ID_EDIT2),"cccccccccccccc");//éè??edité???±?μ???é?
EDIT_SetText(WM_GetDialogItem(hWin,GUI_ID_EDIT3),"ddddddddddddddd");//éè??edité???±?μ???é?
WM_SetFocus(hWin);
}
static void _cbCallback222(WM_MESSAGE * pMsg)
{
int NCode, Id;
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_PAINT:
PaintDialog222(pMsg);
break;
case WM_INIT_DIALOG:
InitDialog222(pMsg);
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch (NCode)
{
case WM_NOTIFICATION_RELEASED:
if(Id==GUI_ID_EDIT0)
{
hDlg4=GUI_CreateDialogBox(_aDialogHistory,GUI_COUNTOF(_aDialogHistory),&_cbCallbackHistory,hWin,276,170);
WM_MakeModal(hDlg4);
GUI_ExecCreatedDialog(hDlg4);
}
if(Id==GUI_ID_EDIT1)
{
hDlg4=GUI_CreateDialogBox(_aDialogHistory,GUI_COUNTOF(_aDialogHistory),&_cbCallbackHistory1,hWin,276,170);
WM_MakeModal(hDlg4);
GUI_ExecCreatedDialog(hDlg4);
}
if(Id==GUI_ID_EDIT2)
{
hDlg4=GUI_CreateDialogBox(_aDialogHistory,GUI_COUNTOF(_aDialogHistory),&_cbCallbackHistory2,hWin,276,170);
WM_MakeModal(hDlg4);
GUI_ExecCreatedDialog(hDlg4);
}
if(Id==GUI_ID_EDIT3)
{ hDlg4=GUI_CreateDialogBox(_aDialogHistory,GUI_COUNTOF(_aDialogHistory),&_cbCallbackHistory3,hWin,276,170);
WM_MakeModal(hDlg4);
GUI_ExecCreatedDialog(hDlg4);
}
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void MainTask222(void)
{
WM_HWIN hDlg;
TEXT_SetDefaultFont(&GUI_FontHZ_YouYuan_19);
EDIT_SetDefaultFont(&GUI_FontHZ_YouYuan_19);
CHECKBOX_SetDefaultFont(&GUI_FontHZ_YouYuan_19);
RADIO_SetDefaultFont(&GUI_FontHZ_YouYuan_19);
hDlg=GUI_CreateDialogBox(_aDialogCreate222, GUI_COUNTOF(_aDialogCreate222), &_cbCallback222, 0, 0, 0);
WM_CreateTimer(WM_GetClientWindow(hDlg),0,50,0);
GUI_ExecCreatedDialog(hDlg);
} |
|