问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用C语言怎么实现图形化界面?

发布网友 发布时间:2022-04-28 12:00

我来回答

5个回答

热心网友 时间:2022-04-13 04:22

这是最简单的界面程序 : // c++.cpp : 定义应用程序的入口点。

//

#include "stdafx.h"

#include "c++.h"

#define MAX_LOADSTRING 100

// 全局变量:

HINSTANCE hInst;// 当前实例

TCHAR szTitle[MAX_LOADSTRING];// 标题栏文本

TCHAR szWindowClass[MAX_LOADSTRING];// 主窗口类名

// 此代码模块中包含的函数的前向声明:

ATOMMyRegisterClass(HINSTANCE hInstance);

BOOLInitInstance(HINSTANCE, int);

LRESULT CALLBACKWndProc(HWND, UINT, WPARAM, LPARAM);

INT_PTR CALLBACKAbout(HWND, UINT, WPARAM, LPARAM);

int APIENTRY _tWinMain(HINSTANCE hInstance,

                     HINSTANCE hPrevInstance,

                     LPTSTR    lpCmdLine,

                     int       nCmdShow)

{

UNREFERENCED_PARAMETER(hPrevInstance);

UNREFERENCED_PARAMETER(lpCmdLine);

 // TODO: 在此放置代码。

MSG msg;

HACCEL hAccelTable;

// 初始化全局字符串

LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);

LoadString(hInstance, IDC_C, szWindowClass, MAX_LOADSTRING);

MyRegisterClass(hInstance);

// 执行应用程序初始化:

if (!InitInstance (hInstance, nCmdShow))

{

return FALSE;

}

hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_C));

// 主消息循环:

while (GetMessage(&msg, NULL, 0, 0))

{

if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

return (int) msg.wParam;

}

//

//  函数: MyRegisterClass()

//

//  目的: 注册窗口类。

//

//  注释:

//

//    仅当希望

//    此代码与添加到 Windows 95 中的“RegisterClassEx”

//    函数之前的 Win32 系统兼容时,才需要此函数及其用法。调用此函数十分重要,

//    这样应用程序就可以获得关联的

//    “格式正确的”小图标。

//

ATOM MyRegisterClass(HINSTANCE hInstance)

{

WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX);

wcex.style= CS_HREDRAW | CS_VREDRAW;

wcex.lpfnWndProc= WndProc;

wcex.cbClsExtra= 0;

wcex.cbWndExtra= 0;

wcex.hInstance= hInstance;

wcex.hIcon= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_C));

wcex.hCursor= LoadCursor(NULL, IDC_ARROW);

wcex.hbrBackground= (HBRUSH)(COLOR_WINDOW+1);

wcex.lpszMenuName= MAKEINTRESOURCE(IDC_C);

wcex.lpszClassName= szWindowClass;

wcex.hIconSm= LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

return RegisterClassEx(&wcex);

}

//

//   函数: InitInstance(HINSTANCE, int)

//

//   目的: 保存实例句柄并创建主窗口

//

//   注释:

//

//        在此函数中,我们在全局变量中保存实例句柄并

//        创建和显示主程序窗口。

//

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)

{

   HWND hWnd;

   hInst = hInstance; // 将实例句柄存储在全局变量中

   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,

      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

   if (!hWnd)

   {

      return FALSE;

   }

   ShowWindow(hWnd, nCmdShow);

   UpdateWindow(hWnd);

   return TRUE;

}

//

//  函数: WndProc(HWND, UINT, WPARAM, LPARAM)

//

//  目的: 处理主窗口的消息。

//

//  WM_COMMAND- 处理应用程序菜单

//  WM_PAINT- 绘制主窗口

//  WM_DESTROY- 发送退出消息并返回

//

//

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

{

int wmId, wmEvent;

PAINTSTRUCT ps;

HDC hdc;

switch (message)

{

case WM_COMMAND:

wmId    = LOWORD(wParam);

wmEvent = HIWORD(wParam);

// 分析菜单选择:

switch (wmId)

{

case IDM_ABOUT:

DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);

break;

case IDM_EXIT:

DestroyWindow(hWnd);

break;

default:

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

}

break;

case WM_PAINT:

hdc = BeginPaint(hWnd, &ps);

// TODO: 在此添加任意绘图代码...

EndPaint(hWnd, &ps);

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

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

}

return 0;

}

// “关于”框的消息处理程序。

INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)

{

UNREFERENCED_PARAMETER(lParam);

switch (message)

{

case WM_INITDIALOG:

return (INT_PTR)TRUE;

case WM_COMMAND:

if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)

{

EndDialog(hDlg, LOWORD(wParam));

return (INT_PTR)TRUE;

}

break;

}

return (INT_PTR)FALSE;

}

热心网友 时间:2022-04-13 05:40

调用API,推荐你去买一本C语言高级编程一类的书,上面有很多讲C语言创建图形化界面的知识

热心网友 时间:2022-04-13 07:14

你也可以在DOS下直接画嘛。。graphics.h这个了解下。。
调api也是一种办法。 不知道你问的是哪种?

热心网友 时间:2022-04-13 09:06

C不能实现图形化,要这样的话就C++

热心网友 时间:2022-04-13 11:14

整体来讲, 用C语言实现图形化需要API函数, 在windows.h中声明.
但是它和C语言控制台下编程的区别可以说除了语法一样, 什么东西都不剩下. C库函数能实现的, API函数也全部都能实现, 而且功能更强大. 因此需要记忆的东西也就更多了, 但是绝对不可能把所有的API函数的用法全部知道, 只是知道大概, 一部分. 剩下不清楚, 或完全不懂的可以直接上MSDN, 百度百科或其他网站上去查询. 但是如果其他网站与MSDN说明有出入, 一定要以MSDN的为准.
所以"怎么用C实现图形化界面"在这里是不可能能说清的.
c语言怎么做图形界面?

1.detectgraph()显示卡检测函数 2.initgraph()图形初始化函数 3.getdrivername()获取图形驱动程序名的指针 4.getgraphmode()获取图形模式函数 5.getmoderange()获取模式值范围函数 6.getmaxmode()获取最大显示模式函数 7.getmodename()获取显示模式名函数 8.graphdefaults()图形设置复位缺省值函数 9.s...

怎样用c语言写一个图形界面

wndclass.hInstance = hInstance ; //窗口实例句柄 wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION ) ; //窗口最小化图标:使用缺省图标 wndclass.hCursor = LoadCursor( NULL, IDC_ARROW ) ; //窗口采用箭头光标 if( !RegisterClass( &wndclass ) ){ //注册窗口类, 如果注册...

c语言如何给自己写的程序加上图形界面

标题、背景和前景颜色、窗口大小等等这些可以用API函数实现 include <windows.h>//加入头文件就可调用API函数 int main(){ HWND hWnd=GetForegroundWindow();HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);SetWindowText(hWnd,"测试");//标题 SetConsoleTextAttribute(handle,FOREGROUND_GREEN|BACKGROUND_...

如何编写C语言图形程序?

一、打开C程序的方法 方法1.在Turbo C for Windows 集成实验与学习环境中,依次用鼠标单击“文件/打开”菜单(用鼠标单击“工具栏”中的“打开”按钮,打开“打开”对话框,选者你要打开的文件,然后单击“打开”即可。图 1 打开文件 方法2 在Turbo C for Windows 集成实验与学习环境中的“我的...

C语言图形界面怎么做出来?

// 执行应用程序初始化:if (!InitInstance (hInstance, nCmdShow)){ return FALSE;} hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_C));// 主消息循环:while (GetMessage(&msg, NULL, 0, 0)){ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)){ TranslateMessage(&msg);...

c语言编程如何实现图形化?

正是因为C语言不是面向对象的语言,在图形化这样更偏上层的应用中,一般会使用C++替代C语言,这样能极大的降低开发的工作量。比如,Windows下可使用MFC,WPF也支持C++。Linux下一般用跨平台的QT(可在Windows/MAC等多种平台运行)。嵌入式环境下有嵌入式的QT版本。

如何用C语言编程出可视化界面?

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语言如何转换为图形编辑器?

以创建和编辑图形图像,例如绘制线条,矩形,圆形等。在编写图形编辑器时,您需要考虑图形用户界面(GUI),用户输入(例如鼠标和键盘输入),图像渲染和处理等方面。这需要您具备相应的计算机图形学和GUI编程方面的知识。总之,C语言可以用于编写图形编辑器,但这需要您掌握相关的图形编程技术和库。

学C了如何写出一个界面来而不是永远出现编译后的小黑框?

不论是C、C++、Pascal还是Qt,只要能操作像素,就能构建图形库。Windows系统上,DirectX提供了丰富的c接口,尽管推荐使用C++,但其其他部分也支持C语言。在Linux世界,OpenGL是众多开发者的选择。此外,SDL或现有的游戏引擎如Unity也是不错的选择。但最终,决定一个界面质量的,是你对图形与交互的理解,而...

求高手帮忙如何给一个C语言编写软件的图形界面

void main(){ hOut = GetStdHandle(STD_OUTPUT_HANDLE); // 获取标准输出设备句柄 SetConsoleOutputCP(437); // 设置代码页 ShadowWindowLine("Display a line of words, and center the window with shadow.");CloseHandle(hOut); // 关闭标准输出设备句柄 } void ShadowWindowLine(char *str){ ...

c怎么实现图形化界面 c语言如何实现图形化界面 c语言图形菜单界面实现 c语言实现图形界面登录窗口 c语言图形化界面 做c语言图形化界面的工具 java图形用户界面实例 java图形化界面 c4droid图形化界面教程
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
拔牙7天过后发现口腔内壁涨白色黏膜,舌头发白两侧有齿痕,拔牙之前好像... 众筹融资平台 债权众筹是什么意思 显示器led背光是什么意思? 16款冬季底妆产品推荐 保湿又持久底妆清单 白茶的功效:三抗三降抗氧化 癌癌症的饮食调理 百度网盘怎么分享给QQ好友? 怎么将百度网盘的文件分享给qq好友 用茶叶水洗脸有什么功效如何正确用茶叶水洗脸 最新牛津译林版八年级上册英语各单元测试题(全册 共58页 附答案) 牛津初中英语同步练习与测试8B Unit2参考答案 八年上册英语新目标配套练习unit2册人民教育出版社出版的 八年级 英语U2单元测试 二 快的加 八年级上册英语课时练答案 英语周报八上广州版 unit2 单元综合能力检测题答案 八年级上册 仁爱英语同步练习与检测答案(Unit2 Topic1)SectionC、D 八上英语unit2检测题(rj) 意大利面中用到的罗勒是要的罗勒叶还是晒干了的罗勒叶? 八年级英语Unit2 Topic1练习卷,附答案 空刻意面出什么问题 什么事香草海盐?(做意大利面的) 谁知道法式陈年酒醋番茄烤鸡配意大利面怎么做才好吃? 意大利面的做法,干酪酱汁意大利面怎么做好 红酒大虾意大利面怎么做? 欧芹酱意大利面怎么做 正宗的意大利面一般需要哪些材料?想在家自己做做看呢 “会展经济与管理”与“会展艺术与技术”有什么区别? 会展经济与管理”这个专业前景怎么样? 会展经济与管理这个专业如何? 译林牛津8Aunit2的完形填空 八年级英语上册风向标二单元六课时答案 c语言如何写出一个图形化的界面,难道只能是黑白的win32控制台程序么? 八年级英语上册书unit1 2d,2e答案 急求!!八年级英语练习题。 如何使用C语言实现图形化界面,C++,C#都行,但不使用API, 怎么用C语言写图形界面?? 我的QQ消息被好友屏蔽了,是屏蔽,不是拉黑,那还可以给他打QQ电话吗? 八上英语课时答案 弱弱的问句:C语言能进行图形界面(GUI)开发吗 C语言如何进入图形界面?有什么注意事项? c语言怎么做图形界面? 求c语言实现图形界面(c,c++,c#语言都可以)... QQ好友被屏蔽了,怎么办 体现美国通货膨胀的指标,最重要的有哪些? 19. 衡量通货膨胀的指标是:__ 通货膨胀,一个国家如何判断已通货膨胀了? 身份证号码的顺序码是什么? 什么是顺序码 18位身份证顺序码,什么意思