導航:首頁 > 源碼編譯 > emwin2天速成源碼

emwin2天速成源碼

發布時間:2023-05-31 23:12:00

1. littlevgl和emwin哪個耗資源

littlevg耗資源,因為咐族顫littlevg 是一個免費的開放源穗談代碼圖形庫,它提供創建嵌衡敗入式 GUI 所需的 一切,它具有易於使用的圖形元素,精美的視覺效果和低內存佔用。

2. 電腦藍屏 A problem has been detected and windows has been shut down to prevent damage的解決方法

電腦藍屏 A problem has been detected and windows has been shut down to prevent damage的意思是:一個問題已經被發現同時窗戶已經關閉以防止損壞。電腦藍屏可以由很多原因引起,解決思路是先軟體後硬體,即先檢查軟體問題,再檢查硬體問題。
1、如果檔穗芹藍屏前安裝了軟體或驅動,進安全模式下,把新安裝的軟體及驅動卸載或刪除後,再開機試下。
2、如果刪除後仍然藍屏,或根本進不了安全模式,則重新安裝操作系統試下。
3、重裝系統後仍然藍屏,則考慮硬體問題。首先將電腦裡面的灰塵徹底清理一下,將內存、顯卡、PCI插槽上的設備拆下,用橡皮探試一下。因為灰塵引起溫度過高、接觸不良等也會造成藍屏;同時將CPU、顯卡等風扇拆下,更換新的散熱硅膠;另外檢查下所有硬體族坦的溫度是否正常。
4、如果清潔電腦後還是不行,則用替換法檢查電腦硬體,如果沒有可替換的硬體或不熟悉電腦,建議找專業維修人員處理。
5、硬體替換按以下順序進行排查:內存、硬碟、顯卡、主板、電源、其它硬體、CPU。
6、採用替換法時最好拔掉電腦上所有連接線及開機不需要用到的硬體,只保留電源、主板、CPU、內存、顯卡、硬碟、顯示器。
7、排查時注意檢查硬體上面是否有焦味,硬體上的電容是否有鼓包現象。
提示:替換法檢查硬體問題多用於有多餘硬體可替換、故障點不好直接判斷的情況下,需要對電腦硬體有一定了解,如果不熟悉硬體,不行畢建議用替換法檢查硬體故障。

3. emwin 能不能不需要操作系統而運行

可以!指帶寬 因為 用 emWin 開發軟體時無需目標系統;大多數軟體都可使用模擬器進行開發。當然,最終目的通常是能在目標系統上運行軟體。
emWin 設計用於提供高效且獨立於處理器和顯示控制器的圖形用戶界面(提供不依賴處理器與控制器的用戶介面),用於任何使用行卜圖形顯示進行操作的應用。它與單任務和多任務環境、專用操作系統或具有任何商業 RTOS 兼容,emWin 的發貨形式為 C 語言源代碼。它可適用於任何唯亮尺寸的、具有任何顯示控制器和 CPU 的物理和虛擬顯示器。

4. emwin中checkbox怎麼用

復選框是選擇各種不同選項的最常用控制項之一。用戶可選中或取消選中復選框,並且可一次選中任意個框。使用鍵盤界面時,被聚焦的復選框的狀態可使用<SPACE>鍵切換。禁用的框顯示為灰色,如下圖所示,其中描述了每種可能的復選框的外觀:

41.2 源代碼如下(主要看WIDGET_Checkbox中的代碼):
#include <stddef.h>
#include "GUI.h"
#include "DIALOG.h"
#include "Main.h"

/*********************************************************************
*
* Static data
*
**********************************************************************
*/

//
// Dialog resource
//
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {(1)
{ FRAMEWIN_CreateIndirect, "Check box sample", 0, 10, 10, 300, 220, FRAMEWIN_CF_MOVEABLE},
{ TEXT_CreateIndirect, "Enabled:", 0, 5, 10, 120, 0 },
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK0, 5, 30, 120, 0 },
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK1, 5, 60, 120, 0 },
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK2, 5, 90, 120, 20 },
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK3, 5, 125, 120, 26 },
{ TEXT_CreateIndirect, "Disabled:", 0, 150, 10, 120, 0 },
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK4, 150, 30, 120, 0 },
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK5, 150, 60, 120, 0 },
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK6, 150, 90, 120, 26 },
{ CHECKBOX_CreateIndirect, 0, GUI_ID_CHECK7, 150, 125, 120, 26 },
{ BUTTON_CreateIndirect, "OK", GUI_ID_OK, 10, 170, 60, 20 },
{ BUTTON_CreateIndirect, "Cancel", GUI_ID_CANCEL, 225, 170, 60, 20 },
};

//
// Check box text
//
static const char * _apLabel[] = {(2)
"Default",
"3 States",
"Box XL",
"Box XXL"
};

/*********************************************************************
*
* Static code
*
**********************************************************************
*/
/*********************************************************************
*
* _cbCallback
*/
static void _cbCallback(WM_MESSAGE * pMsg) {
WM_HWIN hDlg;
WM_HWIN hItem;
int i;
int NCode;
int Id;

hDlg = pMsg->hWin;
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
WM_GetDialogItem(hDlg, GUI_ID_CHECK0);
for (i = 0; i < 8; i++) {(3)
int Index = i % 4;
hItem = WM_GetDialogItem(hDlg, GUI_ID_CHECK0 + i); // Get the handle of the desired checkbox
CHECKBOX_SetText(hItem, _apLabel[Index]); // Set the check box text(4)

switch (Index) {
case 1:(5)
//
// Set the number of possible states to 3
//
CHECKBOX_SetNumStates(hItem, 3);(6)
//
// Use user defined bitmaps for the third state
//(7)
CHECKBOX_SetImage(hItem, &_abmBar[0], CHECKBOX_BI_INACTIV_3STATE); // Used if widget is disabled
CHECKBOX_SetImage(hItem, &_abmBar[1], CHECKBOX_BI_ACTIV_3STATE); // Used if widget is enabled
CHECKBOX_SetState(hItem, 2);(8)
break;
case 2:(9)
CHECKBOX_SetState(hItem, 1);
//
// Use user defined bitmaps for the 'checked' state
//
CHECKBOX_SetImage(hItem, &_abmXL[0], CHECKBOX_BI_INACTIV_CHECKED); // Used if widget is disabled
CHECKBOX_SetImage(hItem, &_abmXL[1], CHECKBOX_BI_ACTIV_CHECKED); // Used if widget is enabled
CHECKBOX_SetFont(hItem, &GUI_FontComic18B_ASCII);
break;
case 3:(10)
CHECKBOX_SetState(hItem, 1);
//
// Use user defined bitmaps for the 'checked' state
//
CHECKBOX_SetImage(hItem, &_abmXXL[0], CHECKBOX_BI_INACTIV_CHECKED); // Used if widget is disabled
CHECKBOX_SetImage(hItem, &_abmXXL[1], CHECKBOX_BI_ACTIV_CHECKED); // Used if widget is enabled
CHECKBOX_SetFont(hItem, &GUI_FontComic24B_ASCII);
break;
}
//
// Disable all check boxes shown on the right side of the dialog
//
if (i >= 4) {(11)
WM_DisableWindow(hItem);
}
}
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);
}
if (Id == GUI_ID_CANCEL) { // Cancel Button
GUI_EndDialog(hDlg, 1);
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}

/*********************************************************************
*
* Public code
*
**********************************************************************
*/
/*********************************************************************
*
* MainTask
*/
void MainTask(void) {
#if GUI_SUPPORT_MEMDEV
WM_SetCreateFlags(WM_CF_MEMDEV);
#endif
GUI_Init();
WM_SetDesktopColor(GUI_BLACK);
while (1) {
GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);
GUI_Delay(500);
}
}


41.1.1 復選框支持的通知代碼
以下事件是復選框控制項作為WM_NOTIFY_PARENT消息的一部分發送給其父窗口的:
消息 描述
WM_NOTIFICATION_CLICKED 復選框已被點擊。
WM_NOTIFICATION_RELEASED 復選框已被釋放。
WM_NOTIFICATION_MOVED_OUT 復選框已被點擊,且指針已移出復選框並且沒有釋放。
WM_NOTIFICATION_VALUE_CHANGED 復選框的狀態已改變。


41.1.2 按鈕支持鍵盤反應
如果控制項具有輸入焦點,則它將對下列各鍵做出反應:
按鍵 反應
GUI_KEY_SPACE 切換小工具的選中狀態

閱讀全文

與emwin2天速成源碼相關的資料

熱點內容
建築設計規范pdf 瀏覽:98
如何合並兩個pdf 瀏覽:174
刷機包必須要解壓的單詞 瀏覽:483
android課表實現 瀏覽:864
頭條app在哪裡能看見有什麼活動 瀏覽:511
冰櫃壓縮機電容80歐 瀏覽:609
安卓各個版本圖標什麼樣 瀏覽:152
無錫哪裡有製作手機app 瀏覽:538
php字元串轉json數組 瀏覽:6
數控網路編程課程有哪些 瀏覽:482
python30特效程序編碼 瀏覽:392
安卓跟蘋果互傳照片用什麼 瀏覽:848
原創小說app哪個好看 瀏覽:97
首台湖南造鯤鵬伺服器雲伺服器 瀏覽:268
redhatphp 瀏覽:456
android智能家居藍牙 瀏覽:646
pt螺紋編程 瀏覽:451
手機電音app哪個好 瀏覽:749
checksum命令 瀏覽:637
java創建xml文件 瀏覽:171