c語言製作圖形界面,c語言怎樣做圖形界面

本文目錄一覽:

C語言圖形界面怎麼做出來

這是最簡單的界面程序 : // c++.cpp : 定義應用程序的入口點。

//

#include “stdafx.h”

#include “c++.h”

#define MAX_LOADSTRING 100

// 全局變量:

HINSTANCE hInst; // 當前實例

TCHAR szTitle[MAX_LOADSTRING]; // 標題欄文本

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

// 此代碼模塊中包含的函數的前向聲明:

ATOM MyRegisterClass(HINSTANCE hInstance);

BOOL InitInstance(HINSTANCE, int);

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

INT_PTR CALLBACK About(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;

}

學c語言如何做出有界面的程序

1、新建一個C項目,點擊文件,新建,項目,選擇C++Win32控制台應用。

2、在項目嚮導中設置,會默認生產一個項目框架。

3、可以使用color函數變化字體和窗口的顏色。

4、要在C語言中實現顏色的變化,需要引入windows.h頭文件,即#include windows.h方可調用color函數,system(“color 02”)類似的,但不能先寫一個循環,循環color 後面的顏色。但可以直接把color 02當作字符串來對待,對後兩個字符串進行循環變化。

5、這裡的測試代碼如下所示:char a[9]=”color 02″;    int i;    for(i=0;i=5;i++)    {        a[6]=(char)((int(‘0’))+i+2);     //顏色交替出現/背景顏色        a[7]=(char)((int(‘0’))+i);       //字體顏色        system(a);        system(“cls”);        printf(“\n\n\n\n\n\n\n\n\t\t\4 \4 \4Welcome\4 \4 \4”);        printf(“\n\n\n\n\n”);        Sleep(1000);                   //延時1秒        system(“cls”);    }   system(“cls”)。

6、而上面使用到的system(“cls”)是清屏函數,直接可以到cmd中輸入cls即可實現清屏的功能。下面就是測試的效果了。

怎樣用c語言寫一個圖形界面

代碼

#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(“MyWindow”) ;

HWND hwnd ;

MSG msg ;

WNDCLASS wndclass ;        //聲明一個窗口類對象

//以下為窗口類對象wndclass的屬性

wndclass.style = CS_HREDRAW | CS_VREDRAW ;                         //窗口樣式

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

wndclass.lpszMenuName = NULL ;                                     //窗口菜單:無

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

wndclass.lpfnWndProc = WndProc ;                                   //窗口處理函數

wndclass.cbWndExtra = 0 ;                                          //窗口實例擴展:無

wndclass.cbClsExtra = 0 ;                                          //窗口類擴展:無

wndclass.hInstance = hInstance ;                                   //窗口實例句柄

wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION ) ;               //窗口最小化圖標:使用缺省圖標

wndclass.hCursor = LoadCursor( NULL, IDC_ARROW ) ;                 //窗口採用箭頭光標

if( !RegisterClass( wndclass ) )

{    //註冊窗口類, 如果註冊失敗彈出錯誤提示

MessageBox( NULL, TEXT(“窗口註冊失敗!”), TEXT(“錯誤”), MB_OK | MB_ICONERROR ) ;

return 0 ;

}

hwnd = CreateWindow(                   //創建窗口

szAppName,                 //窗口類名

TEXT(“我的窗口”),           //窗口標題

WS_OVERLAPPEDWINDOW,       //窗口的風格

CW_USEDEFAULT,             //窗口初始顯示位置x:使用缺省值

CW_USEDEFAULT,             //窗口初始顯示位置y:使用缺省值

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_CREATE:          //窗口創建完成時發來的消息

MessageBox( hwnd, TEXT(“窗口已創建完成!”), TEXT(“我的窗口”), MB_OK | MB_ICONINFORMATION ) ;

return 0;

case WM_PAINT:           //處理窗口區域無效時發來的消息

hdc = BeginPaint( hwnd, ps ) ;

GetClientRect( hwnd, rect ) ;

DrawText( hdc, TEXT( “Hello, 衛班科技!” ), -1, rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER ) ;

EndPaint( hwnd, ps ) ;

return 0 ;

case WM_LBUTTONDOWN:     //處理鼠標左鍵被按下的消息

MessageBox( hwnd, TEXT(“鼠標左鍵被按下。”), TEXT(“單擊”), MB_OK | MB_ICONINFORMATION ) ;

return 0;

case WM_DESTROY:         //處理窗口關閉時的消息

MessageBox( hwnd, TEXT(“關閉程序!”), TEXT(“結束”), MB_OK | MB_ICONINFORMATION ) ;

PostQuitMessage( 0 ) ;

return 0;

}

return DefWindowProc( hwnd, message, wParam, lParam ) ;        //DefWindowProc處理我們自定義的消息處理函數沒有處理到的消息

}

c語言如何給自己寫的程序加上圖形界面

標題、背景和前景顏色、窗口大小等等這些可以用API函數實現

#include windows.h//加入頭文件就可調用API函數

int main()

{

HWND hWnd=GetForegroundWindow();

HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);

SetWindowText(hWnd,”測試”);//標題

SetConsoleTextAttribute(handle,FOREGROUND_GREEN|BACKGROUND_BLUE);//前景、背景顏色

return 0;

}

VC6.0 能夠在 XP 下很好的運行,無需進行額外的設置,但在 Win7、Win8 和 Win10 下,安裝完成後還要修改兼容模式才可以。解決方法如下:

一、對於Win7和Win10,需要將VC6.0的兼容模式修改為 Windows XP SP3:

1、在 VC6.0 的快捷方式或開始菜單上單擊鼠標右鍵,選擇“屬性”。

2、在彈出的對話框中,將兼容模式修改為Windows XP SP3 或 SP2,如下圖所示。

二、相比Win7和Win10,Win8稍微麻煩一些,要先將 MSDEV.EXE 重命名為 MSDEV3.EXE,再按照上面的步驟設置兼容模式。

1、找到MSDEV.EXE所在,MSDEV.EXE是 VC6.0 的主程序,位於 VC6.0 的安裝目錄下,可以在屬性面板中快速找到 MSDEV.EXE。

2、將MSDEV.EXE重命名為MSDEV3.EXE。

3、在 VC6.0 的快捷方式或開始菜單上單擊鼠標右鍵,選擇“屬性”。

4、在彈出的對話框中,將兼容模式修改為Windows XP SP3 或 SP2,如下圖所示。

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()關閉圖形模式函數

希望以上回答對你有幫助,謝謝。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/275727.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-17 16:06
下一篇 2024-12-17 16:06

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • Python圖形界面數據庫開發

    本文將介紹如何使用Python的圖形界面來進行數據庫開發。 一、連接數據庫 在進行數據庫開發前,首先需要連接數據庫。Python提供了多個數據庫連接的模塊,如pyodbc, psy…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論