?? firstwin.cpp
字號:
#include <windows.h>
//函數聲明
BOOL InitWindow( HINSTANCE hInstance, int nCmdShow );
LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam );
//變量說明
HWND hWnd; //窗口句柄
//************************************************************
//函數:WinMain( )
//功能:Windows程序入口函數。創建主窗口,處理消息循環
//************************************************************
int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
if ( !InitWindow( hInstance, nCmdShow ) )
return FALSE; //創建主窗口
//如果創建不成功則返回FALSE并同時退出程序
MSG msg;
//進入消息循環:
for(;;)
{
if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if ( msg.message==WM_QUIT)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
}
//************************************************************
//函數:InitWindow( )
//功能:創建窗口
//************************************************************
static BOOL InitWindow( HINSTANCE hInstance, int nCmdShow )
{
//定義窗口風格:
WNDCLASS wc;
wc.style = NULL;
wc.lpfnWndProc = (WNDPROC)WinProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = CreateSolidBrush (RGB(100, 0, 0)); //暗紅色的背景
wc.lpszMenuName = NULL;
wc.lpszClassName = "My_Test";
RegisterClass(&wc);//注冊窗口
//按所給參數創造窗口
hWnd = CreateWindow("My_Test",
"My first program",
WS_POPUP|WS_MAXIMIZE,0,0,
GetSystemMetrics( SM_CXSCREEN ), //此函數返回屏幕寬度
GetSystemMetrics( SM_CYSCREEN ), //此函數返回屏幕高度
NULL,NULL,hInstance,NULL);
if( !hWnd ) return FALSE;
ShowWindow(hWnd,nCmdShow);//顯示窗口
UpdateWindow(hWnd);//刷新窗口
return TRUE;
}
//************************************************************
//函數:WinProc( )
//功能:處理窗口消息
//************************************************************
LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_KEYDOWN://擊鍵消息
switch( wParam )
{
case VK_ESCAPE:
MessageBox(hWnd,"ESC鍵按下了! 確定后退出!","Keyboard",MB_OK);
PostMessage(hWnd, WM_CLOSE, 0, 0);//給窗口發送WM_CLOSE消息
break;
}
return 0; //處理完一個消息后返回0
case WM_CLOSE: //準備退出
DestroyWindow( hWnd ); //釋放窗口
return 0;
case WM_RBUTTONDOWN:
MessageBox(hWnd,"鼠標右鍵按下了!","Mouse",MB_OK);
return 0;
case WM_DESTROY: //如果窗口被人釋放…
PostQuitMessage( 0 ); //給窗口發送WM_QUIT消息
return 0;
}
//調用缺省消息處理過程
return DefWindowProc(hWnd, message, wParam, lParam);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -