用C语言可以进行有界面的编程吗
发布网友
发布时间:2022-04-22 02:54
我来回答
共5个回答
热心网友
时间:2023-10-15 17:23
1、Windows下用API函数完全可以进行图形界面编程,不过效率太低,不如用VC、VB这种东西直接用鼠标拖放生成来得方便。非图形界面就容易一些了,命令行对话式界面在技术上很容易。
2、例程:
// Window.cpp : Defines the entry point for the application.
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance, //应用程序的实例句柄,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine, //命令行
int nCmdShow) //显示方式
{
MSG msg;
HWND hWnd;
char szTitle[]="系统信息"; // The title bar text
char szWindowClass[]="popMsg"; // The title bar text
WNDCLASSEX wcex={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){
return FALSE;
}
ShowWindow(hWnd, nCmdShow);
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)
{
PAINTSTRUCT ps;
HDC hdc;
RECT rect;
switch (message)
{
case WM_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;
case WM_CREATE:
RegisterHotKey(hWnd ,1, 0 ,0x41 );
break;
case WM_HOTKEY:
MessageBox(0,0,0,0);
break;
case WM_TIMER:
break;
case WM_DESTROY: //窗口销毁消息
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
热心网友
时间:2023-10-15 17:23
可以啊 用printf();输入图形 不过是多个printf();组合成一个图形界面的
热心网友
时间:2023-10-15 17:24
可以,在VC++里建立一个Win32 Application工程,然后在最后一步选择Hello,world就可以看到一个使用Windows API进行可视化编程的例子了
热心网友
时间:2023-10-15 17:24
可以,但是得用图形库函数自己写界面,而且tc只能在16位的dos环境开发
写自己的界面库非常的复杂烦琐
如果是想编win32下的界面程序,可以用visual c++及visual basic
.net上的c#也可以,不过得安装类似虚拟机的.net framework来支持
热心网友
时间:2023-10-15 17:25
去华军搜ultimate++即可,这个是开发界面程序的