當前位置:編程學習大全網 - 編程語言 - 1.在用VC++6.0創建窗口時,我的步驟是這樣的(跟著孫鑫教程裏學的)。1,新建壹個工程win32 application

1.在用VC++6.0創建窗口時,我的步驟是這樣的(跟著孫鑫教程裏學的)。1,新建壹個工程win32 application

#include <windows.h>

#pragma comment(lib,"user32.lib")

#pragma comment(lib,"Gdi32.lib")

LRESULT CALLBACK WndProc(

HWND hwnd

,UINT message

,WPARAM wParam

,LPARAM lParam

);

HWND hWnd;//窗口句柄,定義為全局

int WINAPI WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow

)

{

MSG msg;

WNDCLASS wnd;

wnd.style = 0;

wnd.cbClsExtra = 0;//應該0

wnd.cbWndExtra = 0;//均為0

wnd.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//背景填充顏色

wnd.hCursor = LoadCursor(NULL,IDC_ARROW);//光標,使用默認光標參數壹為NULL

wnd.hIcon = LoadIcon(NULL,IDI_EXCLAMATION);//圖標

wnd.hInstance = hInstance;//句柄

wnd.lpfnWndProc = WndProc;//消息處理

wnd.lpszClassName = "XP";//類名

wnd.lpszMenuName = NULL;//菜單名

RegisterClass(&wnd);//註冊

hWnd = CreateWindow("XP","窗口",WS_OVERLAPPEDWINDOW,100,100,500,500,NULL,NULL,hInstance,NULL);//創建窗口,參考MSDN

ShowWindow(hWnd,SW_SHOWNORMAL);//顯示

UpdateWindow(hWnd);//更新窗口

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

{//消息循環

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return 0;

}

/*LRESULT CALLBACK WindowProc(HWND hwhd,uMsg,WPARAM wParam,LPARAM IParam)

消息響應函數定義

hwnd:指向窗口的句柄。

uMsg:指定消息類型。

wParam:消息

IParam:消息*/

LRESULT CALLBACK WndProc(

HWND hwnd

,UINT message

,WPARAM wParam

,LPARAM lParam

)

{

switch(message)

{

case WM_CLOSE://關閉

if(MessageBox(hWnd,"是否退出","詢問",MB_YESNO)==IDYES)//使用全局消息框

PostQuitMessage(0);//將WM_QUIT加入消息隊列中

break;

case WM_KEYDOWN://鍵盤按下,壹種消息類型,MFC會更全

switch(wParam)

{

case VK_UP:

MessageBox(hWnd,"上","按下",MB_OK);

case VK_RBUTTON:

MessageBox(hWnd,"鼠標右鍵","按下",MB_OK);

break;

case VK_MENU:

MessageBox(hWnd,"Alt","按下",MB_OK);

break;

case VK_END:

MessageBox(hWnd,"END","按下",MB_OK);

break;

case VK_LEFT:

MessageBox(hWnd,"左","按下",MB_OK);

break;

case VK_RIGHT:

MessageBox(hWnd,"右","按下",MB_OK);

break;

case VK_DOWN:

MessageBox(hWnd,"下","按下",MB_OK);

break;

case VK_CONTROL:

MessageBox(hWnd,"Ctrl","按下",MB_OK);

break;

case VK_ESCAPE:

MessageBox(hWnd,"Esc","按下",MB_OK);

// PostQuitMessage(0);

break;

case VK_SHIFT:

MessageBox(hWnd,"SHIFT","按下",MB_OK);

break;

default: break;

}

default:

return DefWindowProc(hwnd,message,wParam,lParam);//缺省處理

}

return(0);

}

沒有外部定義.......

MFC是標準的win32 Application文件

DLL為動態鏈接庫Library,

連接文件

可以使用類進行封裝窗口創建

MFC也是如此

可以加入afxwin.h頭文件 對mfc庫的調用

C++的半面向對象的思想mfc對基本數據也有所封裝,

若果沒有C基礎,對其不熟悉,可能會進展不順

對於壹些函數傳參不了,可以參考MSDN

  • 上一篇:軟考指的是什麽考試?
  • 下一篇:2007年北京下半年計算機等級考試的時間和報名時間、地點、方法,有知道的嗎?快告訴我吧!
  • copyright 2024編程學習大全網