|
先上传测试图片:
(原文件名:图片 001.jpg)
(原文件名:图片 002.jpg)
(原文件名:图片 003.jpg)
(原文件名:图片 004.jpg)
(原文件名:图片 005.jpg)
(原文件名:图片 006.jpg)
(原文件名:图片 007.jpg)
(原文件名:图片 009.jpg)
下面是code:
Codeourdev_659181PECHUF.rar(文件大小:7.67M) (原文件名:test1 LED_Contrler.rar)
本示例比价简单,设计了3个RADIO,两个Button,
3个RADIO控制对应位上的LED
Button控制整体状态:
主程序比较简单,这里不做介绍。大家可用该示例设计一些功能移植到自己的系统上。
请大家关注此贴,作者会继续发一些复杂的应用示例!
下code是该示例的主要代码:
static void _cbCallback(WM_MESSAGE * pMsg)
{
int Sel;
int NCode, Id;
WM_HWIN hDlg, hItem;
hDlg = pMsg->hWin;
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0); //´´½¨Dialog
EDIT_SetDecMode(hItem, 30, 30, 999, 0, 0); /* Select decimal mode */
WM_DisableWindow(hItem);
break;
case WM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) {
case GUI_ID_ESCAPE:
GUI_EndDialog(hDlg, 1);
break;
case GUI_ID_ENTER:
GUI_EndDialog(hDlg, 0);
break;
}
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */
NCode = pMsg->Data.v; /* Notification code */
switch (NCode) {
case WM_NOTIFICATION_RELEASED: /* React only if released */
if (Id == GUI_ID_OK) { /* OK Button */
GUI_EndDialog(hDlg, 0); //¹Ø±Õ¶Ô»°¿ò
LED1_Clr();
LED2_Clr();
LED3_Clr();
LED4_Clr();
}
if (Id == GUI_ID_CANCEL) { /* Cancel Button */
GUI_EndDialog(hDlg, 1); //²»´¦Àí
LED1_Set();
LED2_Set();
LED3_Set();
LED4_Set();
}
break;
case WM_NOTIFICATION_VALUE_CHANGED:
hItem = WM_GetDialogItem(hDlg, GUI_ID_RADIO0);
Sel = RADIO_GetValue(hItem);
hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0);
WM_SetEnableState(hItem, Sel == 0);
//====================================================================
// ÎҵĴ¦Àíº¯Êý
//====================================================================
switch(Sel){
case 1:
LED1_Clr();
LED2_Set();
LED3_Clr();
LED4_Clr();
break;
case 2:
LED1_Clr();
LED2_Clr();
LED3_Set();
LED4_Clr();
break;
case 0:
LED1_Set();
LED2_Clr();
LED3_Clr();
LED4_Clr();
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|