導航:首頁 > 源碼編譯 > guibuilder源碼

guibuilder源碼

發布時間:2022-04-29 10:52:38

Ⅰ 我有一份c++代碼,我想問下用c++ builder 怎麼導入源代碼編譯運行

看看C++代碼是那種類型,如果是控制台方式,直接在C++ builder中重編譯,如果是GUI的要修改代碼。

Ⅱ 使用gui工具操作怎麼看源代碼

先添加一個按鍵控制項,如果名為open_pic,然後在該function下面用uigetfile()函數,這樣你按鍵的時候就會彈出文件和文件夾選擇的窗口,在利用uigetfile函數獲得的文件路徑和文件名來讀取文件
下面這段是打開bmp圖像和jpg圖像的,

[pname,adrname]=uigetfile('*.jpg','*.bmp');
if exist(strcat(adrname,pname))
I_rgb=imread(strcat(adrname,pname));

axes(handles.axes1);
imshow(I_rgb);
else
return;
end;

Ⅲ emwinGUIbuilder做界面切換幾次後就不能切換怎麼辦(keil)

emWin在移植時,GUIConfig.h文件中有定義顯示最大層數。每次都是切換到第六次會死機應該就是這個問題。
處理該問題的方法是:在切換到新窗口後,刪除前一個窗口WM_DeleteWindow(),不要隱藏; 如果還想切換到前一個窗口就需要重新創建一下。

Ⅳ 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 切換小工具的選中狀態

Ⅳ 使用了GUIBuilder做界面後,怎麼在STemWin里怎麼顯示數字

數字刷新是需要回調函數的,在對話框的回調函數裡面根據小控制項發送的消息來刷新,如果是主動修改的話就需要自己新建消息了。然後發送給對話框,然後對話框回調函數根據這個用戶自建的消息來做處理,直接顯示是不行滴

Ⅵ 我使用ucgui builder生成一個文本編輯框,但是只能顯示9個字元。

EDIT_SetText 是沒有長度限制的,不像數值。
應該是你定義數組的時候,或者指針格式錯誤了。
還有EDIT編輯框初始化的時候你有沒有限制了格式?
像EDIT_SetDecMode()十進制數值,還有二進制,十六進制,的模式的話,最大的長度就是9.
不過看你的MODE為TEXT應該沒錯。具體的我也不太清楚,我是在單片機上運行ucgui的,你這個沒搗鼓過。

Ⅶ 你好,我想學習ucgui, 是不是uCGUIBuilder生成的代碼就可以直接移植到stm32中,你有具體實例嗎

是的,可以直接移植的

Ⅷ 用ucguibuilder添加一個button的控制項,下面是code,應該在什麼位置添加有關於button的程序代碼

UIButton *setButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
//button坐標
setButton.frame = CGRectMake(120, 120, 120, 120);
//button上面子的顏色
[setButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
//button上顯示子名字
[setButton setTitle:@"set" forState:UIControlStateNormal];
//添加setbutton點擊事件 更換lable的text
[setButton addTarget:self action:@selector(lableSet) forControlEvents:UIControlEventTouchUpInside];
//button添加到controller的view上,resbutton同理
[self.view addSubview:setButton];

Ⅸ emwin使用GUIBuilder後,怎樣在此界面上畫點描線

emwin使用GUIBuilder後,怎樣在此界面上畫點描線
1.執行「繪圖/繪圖網格/在屏幕上顯示網格(注意數據設置)/確定」命令,使頁面上顯示繪圖網格;
2.用「繪圖」工具欄上的「箭頭」畫坐標軸,畫時按住Shift鍵,保證畫出的線水平、垂直;
3.用「直線」或「橢圓」畫坐標軸上的刻度;
4.用「本框」製作數軸上數據標識;
5.把直線、刻度、數據標識同時選中並右擊,執行「組合/組合」命令,把所有圖形組合起來成為一個完整的平面直角坐標系,便於整體移動擺放。
6.用「橢圓」製作坐標點(畫時按住Shift鍵)、用「直線」畫點向坐標軸引的垂線、用「文本框」製作點的坐標。
7.用「繪圖」工具欄上的「自選圖形」製作函數圖形。

閱讀全文

與guibuilder源碼相關的資料

熱點內容
看幀率app如何使用 瀏覽:523
從DHC伺服器租用IP地址 瀏覽:473
編譯怎麼學 瀏覽:329
數碼管顯示0到9plc編程 瀏覽:665
伺服器是為什麼服務的 瀏覽:765
java定義數據類型 瀏覽:874
安卓pdf手寫 瀏覽:427
什麼是app開發者 瀏覽:284
android鬧鍾重啟 瀏覽:101
程序員失職 瀏覽:518
在雲伺服器怎麼改密碼 瀏覽:586
伺服器pb什麼意思 瀏覽:940
51駕駛員的是什麼app 瀏覽:670
php靜態變數銷毀 瀏覽:888
編程買蘋果電腦 瀏覽:762
flac演算法 瀏覽:499
reactnative與android 瀏覽:665
程序員是干什麼的工作好嗎 瀏覽:258
kbuild編譯ko 瀏覽:471
條件編譯的宏 瀏覽:566