當前位置:首頁 » 編程語言 » 工控顯示屏可以用c語言寫界面嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

工控顯示屏可以用c語言寫界面嗎

發布時間: 2023-06-13 08:17:14

c語言能不能寫軟體界面,有的話具體怎麼寫

C++可以寫。這個是windows窗口的寫法:

#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); /* Declare Windows procere */
char szClassName[ ] = "WindowsApp"; /* Class Name */

int WINAPI WinMain(HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)

{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */

/* The WNDCLASSEX structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WndProc; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof(WNDCLASSEX);
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);

/* Register the window class, if fail quit the program */
if(!RegisterClassEx(&wincl)) return 0;

/* The class is registered, create the window*/
hwnd = CreateWindowEx(
0,
szClassName,
"Simple Windows App",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
500,
300,
HWND_DESKTOP,
NULL,
hThisInstance,
NULL
);

/* Make the window visible on the screen */
ShowWindow(hwnd, nFunsterStil);
/* Run the message loop. It will run until GetMessage( ) returns 0 */
while(GetMessage(&messages, NULL, 0, 0))
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}
/* The program return-value is 0 - The value that PostQuitMessage( ) gave */
return messages.wParam;
}

/* This function is called by the Windows function DispatchMessage( ) */
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_DESTROY:
PostQuitMessage(0); /* send a WM_QUIT to the message queue */
break;
default: /* for messages that we don't deal with */
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}

㈡ 怎麼用c語言做一個界面

C 語言,就像他的名字一樣,他就是一門計算機編程語言;
要做界面,需要調用繪圖函數,而繪圖函數有很多種,Windows 的 GDI 和 GDI+ 或者 Direct2D,Linux 下的 OpenGL,移動設備上的 XNA ,都可以;
MFC 是微軟為咱們創建 Windows 窗體程序而設計好的開發包,可以提高開發效率,以面向對象的方式思考和設計程序,學習這個,需要有 Windows API 基礎;
至於 API,在 Windows 下面,就是指 Win32 API 了,就是 32 位 Windows 操作系統的應用程序編程介面,是 Windows 系統提供給開發者的底層功能;
這些都不是一兩句話可以概括的,需要自己多點去接觸,才會有自己的心得;

最後一條比喻不是很恰當,面向對象拆開來,可以是一堆 API,也可以是單純的一堆 C 語言句子,當然,也可以是一堆嵌入式匯編語句,所以沒辦法進行比喻;

㈢ 弱弱的問句:C語言能進行圖形界面(GUI)開發嗎

可以的 我現在就在用呢

1.可以用 winC ,就是直接在windows下編程。這個比較麻煩,因為所有的東西都必須自己寫(如創建窗口,初始化等一些基本的)以前老師上課的時候講過,理解了之後,感覺其實很簡單,而且都是一個套路,看個例子就能明白的

2.可以用MFC創建界面,裡面要具體實現的東西,直接用C語言寫就可以了,很方便,其實MFC就是對winC的一種封裝,就是第一點說的你要寫的那些基本的東西(創建窗口,初始化之類的),他都給你弄好了,不用自己寫,直接創建一個工程就OK了

3.可以創建C#工程,用C#創建界面(直接拖控制項就行,像VB那樣),然後,你要實現的東西用C語言寫。或者,你先將要實現的東西,用C語言寫好,編譯成動態鏈接庫DLL,然後在C#工程中調用該DLL。C#工程實際上就起到一個界面封裝的目的,也比較方便

個人建議用 MFC

㈣ 用C語言設計屏幕界面程序!

呵呵 我有哦 今天剛編了一個 是一個運動的羽毛球拍
然後是在寫漢字 是一筆一畫寫的哦 在寫「我愛你」這三個字
現在還不想分享 我送給了女朋友
你要的話加我QQ

還有一個是煙花的程序
可以現場給你 挺簡單的

#include "slib.h"
#include"graphics.h"
yanhua()
{int gd=DETECT,gr,a[8],b[8],x,y,i,j,c;
initgraph(&gd,&gr,"");
randomize();
for(;!kbhit();)
{x=rand()P0 100; /*隨機中心坐標*/
y=rand()00 100;
a[0]=x; /*各點坐標的計算,我的煙花圖形沒能是圓的*/
b[0]=y-10;
a[1]=a[0] 5;
a[2]=a[1] 5;
a[3]=a[1];
a[4]=a[0];
a[5]=a[0]-5;
a[6]=a[5]-5;
a[7]=a[6] 5;
for(j=1;j<5;j )
b[j]=b[j-1] 5;
for(j=5;j<8;j )
b[j]=b[j-1]-5;
for(j=0;j<6;j ) /*煙花的大小設定*/
{
for(i=0;i<8;i )
{
c=rand() 1; /*各點的顏色隨機*/
setcolor(c);
circle(a[i],b[i],1);
}
delay(5000);
cleardevice();
b[0]-=10; /*各點的坐標變換*/
a[1] =5;
b[1]-=5;
a[2] =10;
a[3] =5;
b[3] =5;
b[4] =10;
a[5]-=5;
b[5] =5;
a[6]-=10;
a[7]-=5;
b[7]-=5;
}
}
getch();
closegraph();
}

main()
{while(1)
yanhua();
}

㈤ 如何用C語言編程出可視化界面

//調用api函數創建窗口

//示例:

#include <windows.h>


LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口過程函數


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT("MyWindows");//定義窗口類名

HWND hwnd;//窗口句柄

MSG msg; //

WNDCLASS wndclass; //窗口類


wndclass.style = CS_HREDRAW | CS_VREDRAW;//指定窗口類型,各種「類風格」(詳見下方↓)可以使用按位或操作符組合起來

wndclass.lpfnWndProc = WndProc;//指定窗口過程(必須是回調函數)

wndclass.cbClsExtra = 0;//預留的額外空間,一般為 0

wndclass.cbWndExtra = 0;//預留的額外空間,一般為 0

wndclass.hInstance = hInstance;//應用程序的實例句柄

wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);//為所有基於該窗口類的窗口設定一個圖標

wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);//為所有基於該窗口類的窗口設定一個滑鼠指針

wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//指定窗口背景色

wndclass.lpszMenuName = NULL;//指定窗口菜單

wndclass.lpszClassName = szAppName;//指定窗口類名


if (!RegisterClass(&wndclass))//注冊窗口

{

MessageBox(NULL, TEXT("這個程序需要在 Windows NT 才能執行!"), szAppName, MB_ICONERROR);

return 0;

}


hwnd = CreateWindow(szAppName, //創建窗口

TEXT("windows"),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

NULL,

NULL,

hInstance,

NULL);


ShowWindow(hwnd, iCmdShow); //顯示窗口

UpdateWindow(hwnd); //更新窗口,重繪


while (GetMessage(&msg, NULL, 0, 0)) //獲得消息

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}


return msg.wParam;

}


LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)//回調函數

{

HDC hdc;

PAINTSTRUCT ps;

RECT rect;


switch (message)

{

case WM_PAINT:

hdc = BeginPaint(hwnd, &ps);

GetClientRect(hwnd, &rect);

DrawText(hdc, TEXT("第一個C語言窗口程序!"), -1, &rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER);

EndPaint(hwnd, &ps);

return 0;


case WM_DESTROY:

PostQuitMessage(0);

return 0;

}


return DefWindowProc(hwnd, message, wParam, lParam);

}

㈥ 用C語言可以進行有界面的編程嗎

1、Windows下用API函數完全可以進行圖形界面編程,不過效率太低,不如用VC、VB這種東西直接用滑鼠拖放生成來得方便。非圖形界面就容易一些了,命令行對話式界面在技術上很容易。


2、常式:

//Window.cpp:.
#include<windows.h>
LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);


intAPIENTRYWinMain(HINSTANCEhInstance,//應用程序的實例句柄,
HINSTANCEhPrevInstance,
LPSTRlpCmdLine,//命令行
intnCmdShow)//顯示方式
{
MSGmsg;
HWNDhWnd;
charszTitle[]="系統信息";//Thetitlebartext
charszWindowClass[]="popMsg";//Thetitlebartext
WNDCLASSEXwcex={0};
wcex.cbSize=sizeof(WNDCLASSEX);//WNDCLASSEX結構體大小
wcex.style=CS_HREDRAW|CS_VREDRAW;//位置改變時重繪
wcex.lpfnWndProc=(WNDPROC)WndProc;//消息處理函數
wcex.hInstance=0;//當前實例句柄
wcex.hbrBackground=(HBRUSH)COLOR_WINDOWFRAME;//背景色
wcex.lpszClassName=szWindowClass;//參窗口類名
wcex.hIcon=0;//圖標
wcex.hCursor=LoadCursor(NULL,IDC_ARROW);//游標
wcex.lpszMenuName=0;//菜單名稱
wcex.hIconSm=0;//最小化圖標
RegisterClassEx(&wcex);//注冊窗口類

hWnd=CreateWindow(szWindowClass,szTitle,WS_SYSMENU|WS_VISIBLE,//創建窗口
CW_USEDEFAULT,CW_USEDEFAULT,400,300,NULL,NULL,0,NULL);
if(!hWnd){
returnFALSE;
}

ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);

while(GetMessage(&msg,NULL,0,0))//消息循環:
{
TranslateMessage(&msg);//轉化虛擬按鍵到字元消息
DispatchMessage(&msg);//分派消息調用回調函數
}
returnmsg.wParam;
}

LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)
{
PAINTSTRUCTps;
HDChdc;
RECTrect;
switch(message)
{
caseWM_PAINT://重繪消息
hdc=BeginPaint(hWnd,&ps);
GetClientRect(hWnd,&rect);
MoveToEx(hdc,10,10,0);
SelectObject(hdc,::CreatePen(PS_SOLID,1,RGB(0xFF,0,0)));
LineTo(hdc,100,200);
//DrawText(hdc,szHello,strlen(szHello),&rt,DT_CENTER);
EndPaint(hWnd,&ps);
break;

caseWM_CREATE:

RegisterHotKey(hWnd,1,0,0x41);
break;
caseWM_HOTKEY:
MessageBox(0,0,0,0);
break;
caseWM_TIMER:


break;
caseWM_DESTROY://窗口銷毀消息
PostQuitMessage(0);
break;
default:
returnDefWindowProc(hWnd,message,wParam,lParam);
}
return0;
}

㈦ 如何用c語言設計界面

使用graphic相關的函數可以做圖像界面。
如果是類似Dos那樣的,你就使用一串*或#號等分割。

㈧ 如何在工控機里使用C語言編程

1、用在嵌入式系統上面多一點,其它地方好像不常用,不過C語言學好了,基礎也就打好了,學其它語言也能容易上手。 一開始學語言不能浮燥,VB、C#等雖能很容易做出漂亮的界面,但C語言才是真正修煉內功的方式。

2、主要內容有:
1)捕獲採集的設備輸入
2)分析輸入數據,
3)輸出控制信號

㈨ 工控一體屏用什麼編寫的

C語言。工控一體屏是復雜程序產品,使用的是C語言編寫的。工控一體機是工業控制電腦的簡稱。沒有帶顯局寬示屏的也有人叫工控機、工業電腦、工業如備主機、桐橡亮工業控制器。

㈩ c語言如何編寫界面程序

一、C語言中要做圖形界面,首先需要設置為圖形模式,確定顯卡類型,對屏幕進行初始化等等。

二、相關的函數如下:

1.detectgraph()顯示卡檢測函數

2.initgraph()圖形初始化函數

3.getdrivername()獲取圖形驅動程序名的指針

4.getgraphmode()獲取圖形模式函數

5.getmoderange()獲取模式值范圍函數

6.getmaxmode()獲取最大顯示模式函數

7.getmodename()獲取顯示模式名函數

8.graphdefaults()圖形設擾耐置復位預設值函數

9.setgraphmode()設置圖形模式函數

10.restorecrtmode()恢復文本顯示模式函數

11.graphresult()圖形操作結果函數

12.grpaherrormsg()圖形錯誤信息函數

13.setgraphbufsize()設置圖形緩沖區大小函數

14.setactivepage()設置可輸出顯示頁函數

15.setvisualpage()設置可見顯示頁數

16.closegraph()關閉圖形模式函數GTK+去這本書的pdf看看吧GTK+2.0編程範例QT啊不過安裝QT環境有點復雜貌似QT是C++,GTK是C.......C語方下可以在文本模式下作出,也可以在圖形模式下畫出,用的是一些擴展庫,就是說不是C標准庫,下面給一個框架,不知道建悉李舉不建議學,感覺過時了,看你自已的興趣了,感興趣下了功夫肯定能學好,睜碧因為它根本就不難,只不過用了些非標准庫的所謂高級函數而已