當前位置:編程學習大全網 - 編程語言 - VisualStudio怎麽用C語言進行圖形編程啊

VisualStudio怎麽用C語言進行圖形編程啊

新建壹個項目、選擇win32項目,應用程序為windows程序,附加選項為空;在源代碼目錄中添加壹個後綴為.c的源文件。接下來就可以寫C代碼了。

用c語言中通過調用windows的api函數,來顯示窗口、菜單、滾動條、屏幕輸出。

在《windows程序設計》壹書中就有壹個例子,顯示壹個標準的windows窗口,並在繪圖區顯示壹個字符串。代碼如下:

#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("HelloWin");

HWND?hwnd;

MSG?msg;

WNDCLASS?wndclass;

wndclass.style?=?CS_HREDRAW||CS_VREDRAW;

wndclass.lpfnWndProc?=?WndProc;

wndclass.cbClsExtra?=?0;

wndclass.cbWndExtra?=?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("This?program?requires?Windows?NT!"),szAppName,MB_ICONERROR);

return?0;

}

hwnd?=?CreateWindow(szAppName,

TEXT("The?Hello?Program"),

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_CREATE:

//PlaySound(TEXT("C:\\Windows?Notify.wav"),NULL,SND_FILENAME|SND_ASYNC);

return?0;

case?WM_PAINT:

hdc?=?BeginPaint(hwnd,&ps);

GetClientRect(hwnd,&rect);

DrawText(hdc,TEXT("Hello,?Windows?98!"),-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文件中即可以編譯運行。

  • 上一篇:打算轉行做前端,自學的話,可以嗎?
  • 下一篇:海爾雙動力洗衣機有什麽好處?
  • copyright 2024編程學習大全網