圖形界面框架,圖形界面這個(gè)很多人還不知道,現(xiàn)在讓我們一起來看看吧!
(相關(guān)資料圖)
1、這是最簡(jiǎn)單的界面程序://c++.cpp:定義應(yīng)用程序的入口點(diǎn)。
2、//#include"stdafx.h"#include"c++.h"#defineMAX_LOADSTRING100//全局變量:HINSTANCEhInst;//當(dāng)前實(shí)例TCHARszTitle[MAX_LOADSTRING];//標(biāo)題欄文本TCHARszWindowClass[MAX_LOADSTRING];//主窗口類名//此代碼模塊中包含的函數(shù)的前向聲明:ATOMMyRegisterClass(HINSTANCEhInstance);BOOLInitInstance(HINSTANCE,int);LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);INT_PTRCALLBACKAbout(HWND,UINT,WPARAM,LPARAM);intAPIENTRY_tWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPTSTRlpCmdLine,intnCmdShow){UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(lpCmdLine);//TODO:在此放置代碼。
3、MSGmsg;HACCELhAccelTable;//初始化全局字符串LoadString(hInstance,IDS_APP_TITLE,szTitle,MAX_LOADSTRING);LoadString(hInstance,IDC_C,szWindowClass,MAX_LOADSTRING);MyRegisterClass(hInstance);//執(zhí)行應(yīng)用程序初始化:if(!InitInstance(hInstance,nCmdShow)){returnFALSE;}hAccelTable=LoadAccelerators(hInstance,MAKEINTRESOURCE(IDC_C));//主消息循環(huán):while(GetMessage(&msg,NULL,0,0)){if(!TranslateAccelerator(msg.hwnd,hAccelTable,&msg)){TranslateMessage(&msg);DispatchMessage(&msg);}}return(int)msg.wParam;}////函數(shù):MyRegisterClass()////目的:注冊(cè)窗口類。
4、////注釋:////僅當(dāng)希望//此代碼與添加到Windows95中的“RegisterClassEx”//函數(shù)之前的Win32系統(tǒng)兼容時(shí),才需要此函數(shù)及其用法。
5、調(diào)用此函數(shù)十分重要,//這樣應(yīng)用程序就可以獲得關(guān)聯(lián)的//“格式正確的”小圖標(biāo)。
6、//ATOMMyRegisterClass(HINSTANCEhInstance){WNDCLASSEXwcex;wcex.cbSize=sizeof(WNDCLASSEX);***.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));returnRegisterClassEx(&wcex);}////函數(shù):InitInstance(HINSTANCE,int)////目的:保存實(shí)例句柄并創(chuàng)建主窗口////注釋:////在此函數(shù)中,我們?cè)谌肿兞恐斜4鎸?shí)例句柄并//創(chuàng)建和顯示主程序窗口。
7、//BOOLInitInstance(HINSTANCEhInstance,intnCmdShow){HWNDhWnd;hInst=hInstance;//將實(shí)例句柄存儲(chǔ)在全局變量中hWnd=CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);if(!hWnd){returnFALSE;}ShowWindow(hWnd,nCmdShow);UpdateWindow(hWnd);returnTRUE;}////函數(shù):WndProc(HWND,UINT,WPARAM,LPARAM)////目的:處理主窗口的消息。
8、////WM_COMMAND-處理應(yīng)用程序菜單//WM_PAINT-繪制主窗口//WM_DESTROY-發(fā)送退出消息并返回////LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam){intwmId,wmEvent;PAINTSTRUCTps;HDChdc;switch(message){caseWM_COMMAND:wmId=LOWORD(wParam);wmEvent=HIWORD(wParam);//分析菜單選擇:switch(wmId){caseIDM_ABOUT:DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);break;caseIDM_EXIT:DestroyWindow(hWnd);break;default:returnDefWindowProc(hWnd,message,wParam,lParam);}break;caseWM_PAINT:hdc=BeginPaint(hWnd,&ps);//TODO:在此添加任意繪圖代碼...EndPaint(hWnd,&ps);break;caseWM_DESTROY:PostQuitMessage(0);break;default:returnDefWindowProc(hWnd,message,wParam,lParam);}return0;}//“關(guān)于”框的消息處理程序。
9、INT_PTRCALLBACKAbout(HWNDhDlg,UINTmessage,WPARAMwParam,LPARAMlParam){UNREFERENCED_PARAMETER(lParam);switch(message){caseWM_INITDIALOG:return(INT_PTR)TRUE;caseWM_COMMAND:if(LOWORD(wParam)==IDOK||LOWORD(wParam)==IDCANCEL){EndDialog(hDlg,LOWORD(wParam));return(INT_PTR)TRUE;}break;}return(INT_PTR)FALSE;}。
本文到此分享完畢,希望對(duì)大家有所幫助。
標(biāo)簽:
Copyright @ 2001-2013 m.yw384.com All Rights Reserved 財(cái)經(jīng)新聞網(wǎng) 版權(quán)所有 京ICP備12018864號(hào)-1
網(wǎng)站所登新聞、資訊等內(nèi)容, 均為相關(guān)單位具有著作權(quán),轉(zhuǎn)載請(qǐng)注明出處
未經(jīng)彩迅新聞網(wǎng)書面授權(quán),請(qǐng)勿建立鏡像 聯(lián)系我們: 291 32 36@qq.com