當前位置:首頁 » 編程軟體 » c可視化編程

c可視化編程

發布時間: 2023-07-29 15:07:14

① 如何用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);

}

② Linux中怎麼用c/c++做開發可視化程序

一般使用Qt(C++)或者GTK+(C)的庫;

1.比如Qt,安裝Qt庫以及Qt Creator,在Qt Creator中編譯以下程序

#include<QApplication>#include<QMainWindow>intmain(intargc,char*argv[]){QApplicationa(argc,argv);QMainWindow*w=newQMainWindow();a.setActiveWindow(w);w->show();returna.exec();}

你將看到如下窗口:

2.比如GTK+

#include<gtk/gtk.h>intmain(intargc,char*argv[]){GtkWidget*window;gtk_init(&argc,&argv);window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_widget_show(window);gtk_main();return0;

}

編譯運行後,你也將看到一個類似的窗口。

熱點內容
孩子學習編程好處 發布:2025-03-29 18:48:24 瀏覽:424
c是高級程序設計語言的一種 發布:2025-03-29 18:44:38 瀏覽:384
王者榮耀安卓服和蘋果排位哪個好 發布:2025-03-29 18:14:54 瀏覽:932
什麼是微信緩存文件 發布:2025-03-29 18:13:32 瀏覽:463
怎麼修改安卓手機使用信息 發布:2025-03-29 18:03:51 瀏覽:231
網站後台更新緩存 發布:2025-03-29 18:03:46 瀏覽:142
榮耀相冊密碼在哪裡設置 發布:2025-03-29 18:02:56 瀏覽:450
活動記錄編譯 發布:2025-03-29 17:59:04 瀏覽:455
安卓系統視頻原文件在哪裡 發布:2025-03-29 17:46:00 瀏覽:845
pr編譯未安裝 發布:2025-03-29 17:45:57 瀏覽:218