當前位置:編程學習大全網 - 編程語言 - vc 除了用MFC做做界面還能用什麽

vc 除了用MFC做做界面還能用什麽

MFC是相對比較簡單的了,MFC中集成做界面需要的壹些函數,而且連WinMain等最基本的函數都寫在了類庫裏,讓妳可以直接寫界面代碼而不需要考慮C++中的壹些基本元素,所以說是很方便的,如果妳想學,推薦妳看孫鑫老師的mfc視頻教程,20課學完妳必有小成。

不用MFC的話,就只能用Win32 Application建工程了,但妳寫壹個界面相當於是把MFC類庫中的東西重復壹些而已。如下是壹段不用MFC的界面,但在MFC的類庫中完全可以找到這些代碼:

#include <windows.h>

#include <stdio.h>

LRESULT CALLBACK WinSunProc(

HWND hwnd,

UINT wMsg,

WPARAM wParam,

LPARAM lParam

);

int WINAPI WinMain(

HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nShowCmd

)

{

WNDCLASS wndcls;

wndcls.cbClsExtra = 0;

wndcls.cbWndExtra = 0;

wndcls.hbrBackground = (HBRUSH)GetStockObject(0);

wndcls.hCursor = LoadCursor(NULL,0);

wndcls.hIcon = LoadIcon(NULL,IDI_ERROR);

wndcls.lpszMenuName = NULL;

wndcls.lpszClassName = "xss";

wndcls.hInstance = hInstance;

wndcls.lpfnWndProc = WinSunProc;

wndcls.style = CS_HREDRAW | CS_VREDRAW;

RegisterClass(&wndcls);

HWND hwnd;

hwnd = CreateWindow("xss","mfc第壹課",WS_OVERLAPPEDWINDOW,0,0,600,600,NULL,NULL,hInstance,NULL);

ShowWindow(hwnd,SW_SHOWNORMAL);

UpdateWindow(hwnd);

MSG msg;

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

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return 0;

}

LRESULT CALLBACK WinSunProc(

HWND hwnd,

UINT wMsg,

WPARAM wParam,

LPARAM lParam

)

{

switch(wMsg)

{

case WM_CHAR:

char szchar[20];

sprintf(szchar,"char is %d",wParam);

MessageBox(hwnd,szchar,"xss",0);

break;

case WM_LBUTTONDOWN:

MessageBox(hwnd,"nihao","xss",0);

HDC hdc;

hdc = GetDC(hwnd);

TextOut(hdc,0,50,"123456",6);

ReleaseDC(hwnd,hdc);

break;

case WM_PAINT:

HDC hdc1;

PAINTSTRUCT ps;

hdc1 = BeginPaint(hwnd,&ps);

EndPaint(hwnd,&ps);

break;

case WM_CLOSE:

if(IDYES==MessageBox(hwnd,"是否真的關閉?","xss",MB_YESNO))

{

DestroyWindow(hwnd);

}

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

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

}

}

  • 上一篇:大學生電子設計大賽
  • 下一篇:人工智能培訓有哪些課程?學時?
  • copyright 2024編程學習大全網