c語言怎樣製作界面,c語言遊戲界面怎樣製作

本文目錄一覽:

C語言怎麼做界面?

空窗口:

#include windows.h

/* 所有的窗口輸出到這裡去 */

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {

switch(Message) {

/* 停止後,告訴主線程停止 */

case WM_DESTROY: {

PostQuitMessage(0);

break;

}

/* 所有其他消息(很多人)都使用默認程序處理 */

default:

return DefWindowProc(hwnd, Message, wParam, lParam);

}

return 0;

}

/* Win32 GUI程序的主要功能:執行從這裡開始 */

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

WNDCLASSEX wc; /* 窗口的屬性結構 */

HWND hwnd; /* “句柄” 一個窗口的標識符 */

MSG Msg; /* 所有消息的臨時位置 */

/* 修改結構和設置的東西 */

memset(wc,0,sizeof(wc));

wc.cbSize

= sizeof(WNDCLASSEX);

wc.lpfnWndProc

= WndProc; /* 將發送消息的地方 */

wc.hInstance

= hInstance;

wc.hCursor

= LoadCursor(NULL, IDC_ARROW);

/* 白色,COLOR_WINDOW是系統定義的顏色值,其數值是5 */

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

wc.lpszClassName = “WindowClass”;

wc.hIcon

= LoadIcon(NULL, IDI_APPLICATION); /* 載入一個標準圖標 */

wc.hIconSm

= LoadIcon(NULL, IDI_APPLICATION); /* 使用名稱「A」來作為該項目圖標 */

if(!RegisterClassEx(wc)) {

MessageBox(NULL, “Window Registration Failed!”,”Error!”,MB_ICONEXCLAMATION|MB_OK);

return 0;

}

hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,”WindowClass”,”Caption”,WS_VISIBLE|WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, /* x */

CW_USEDEFAULT, /* y */

640, /* 寬度 */

480, /* 高度 */

NULL,NULL,hInstance,NULL);

if(hwnd == NULL) {

MessageBox(NULL, “Window Creation Failed!”,”Error!”,MB_ICONEXCLAMATION|MB_OK);

return 0;

}

/*

所有的輸入處理和發送到窗口過程。

注意,這個塊代碼流,直到它接收到的東西,

所以迴路不會產生不合理的高CPU使用率。

*/

while(GetMessage(Msg, NULL, 0, 0) 0) /* 如果沒有收到任何錯誤…*/

{

TranslateMessage(Msg); /* 如果存在翻譯關鍵碼字元*/

DispatchMessage(Msg); /* 發送它到WndProc */

}

return Msg.wParam;

}

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

怎麼用c語言做一個界面

用turbo

c是可以做窗口程序的,不過不會是象vb做出來的窗口那樣。是dos下面的。

還可以用vc++,這個可以用c語言做出窗口程序來的。

怎樣用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處理我們自定義的消息處理函數沒有處理到的消息

}

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

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

相關推薦

  • 為什麼不用Python開發遊戲

    Python是一種高級編程語言,擁有簡單易學、代碼簡潔等優點。同時,Python也是一種多用途的語言,可以用於Web開發、數據分析以及機器學習等領域。然而,對於遊戲開發領域,Pyt…

    編程 2025-04-29
  • 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
  • OpenJudge答案1.6的C語言實現

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

    編程 2025-04-29
  • 使用Python製作遊戲代碼

    Python是一種高級編程語言,因其簡潔明了的代碼風格、易於學習和使用而備受青睞。Python已經成為遊戲製作的熱門選擇之一,可以通過Pygame、Panda3D等工具來實現遊戲制…

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

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

    編程 2025-04-29
  • 如何使用Python將print輸出到界面?

    在Python中,print是最常用的調試技巧之一。在編寫代碼時,您可能需要在屏幕上輸出一些值、字元串或結果,以便您可以更好地理解並調試代碼。因此,在Python中將print輸出…

    編程 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

發表回復

登錄後才能評論