当前位置:首页 » 编程软件 » 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;

}

编译运行后,你也将看到一个类似的窗口。

热点内容
linux查看剩余磁盘 发布:2025-03-27 09:05:47 浏览:264
tcl空调密码是多少 发布:2025-03-27 08:59:23 浏览:487
java存储大量数据 发布:2025-03-27 08:51:08 浏览:152
7和7plus哪个配置好 发布:2025-03-27 08:35:39 浏览:154
sql数组语句 发布:2025-03-27 08:27:51 浏览:647
android百度网盘下载地址 发布:2025-03-27 08:03:10 浏览:102
编程有前途吗 发布:2025-03-27 08:01:52 浏览:78
云存储的规划 发布:2025-03-27 07:53:30 浏览:155
字节长度java 发布:2025-03-27 07:49:10 浏览:580
luci编译 发布:2025-03-27 07:49:08 浏览:256