91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

本人的原創Windows入門程序,直接用C語言調用Windows API的方式編寫,幾乎涉及了Windows入門會碰到的所有基礎問題:窗口、消息、菜單、工具欄、資源、對話框、計時器、自繪按鈕、GDI位圖操作、Windows目錄操作、INI文件操作等等。 順便向一位叫吳志剛的朋友表示感謝,我從你的MFC版本的俄羅斯方塊中拿了圖標和所有的位圖資源,還仿照了你的界面布局,希望你不要責備后生,呵呵。 程序的開發環境是VC6,源代碼中有詳細的注釋,算法也一看就明白,如果你是位初學者,拿來練練手應該會有所收獲,希望能對你有所幫助。

資源截圖

代碼片段和文件信息

//=========================================================
//?Project Win32?俄羅斯方塊程序
//?File Tetris.cpp?主程序
//?Update 2009.04
//?Author 沉淪?http://www.EasyIDE.cn
//?Tools Visual?C++?6.0?&?Editplus?3
//=========================================================

#include?“Tetris.h“

//Windows?入口函數
int?WINAPI?WinMain(HINSTANCE?hInstanceHINSTANCE?hPrevInstanceLPSTR?szCmdLineint?iCmdShow)
{
static?TCHAR szClsName[]?=?TEXT(“Tetris“);
HWND hwnd;
MSG msg;
WNDCLASSEX wndclass;

InitCommonControls();?//初始化通用控件類庫

//程序啟動時初始化數據
hInst?=?hInstance;
RandomBlock(&ii&jj&cc);
//x?=?4;?y?=?-1;
iLevel?=?1;?iSorce?=?0;
ilayer?=?0;?iSorceMax?=?TetrisIni(0);
hDcAlert?=?CreateCompatibleDC(NULL);

//注冊窗口類
wndclass.hInstance =?hInstance;
wndclass.lpszClassName =?szClsName;
wndclass.lpfnWndProc =?WndProc;
wndclass.cbClsExtra =?0;
wndclass.cbWndExtra =?0;
wndclass.cbSize =?sizeof(WNDCLASSEX);
wndclass.style =?CS_HREDRAW|CS_VREDRAW;
wndclass.hIcon =?LoadIcon(hInstanceMAKEINTRESOURCE(IDI_ICON1));
wndclass.hIconSm =?NULL;
wndclass.hCursor =?LoadCursor(NULLIDC_ARROW);
wndclass.hbrBackground =?(HBRUSH)(COLOR_BTNFACE+1);
wndclass.lpszMenuName =?MAKEINTRESOURCE(IDR_MENU1);
if?(?!RegisterClassEx(&wndclass)?)
{
MessageBox(
NULL
TEXT(“This?program?requires?Windows?NT!“)
TEXT(“RegisterClass?ERROR“)
MB_IConerror);
return?0;

}

//創建主窗口
hwnd?=?CreateWindowEx(
WS_EX_CLIENTEDGE
szClsName
TEXT(“俄羅斯方塊Win32版“)
WS_MINIMIZEBOX|WS_SYSMENU
GetSystemMetrics(SM_CXFULLSCREEN)/2-370/2
GetSystemMetrics(SM_CYFULLSCREEN)/2-520/2
370
520
NULL
NULL
hInstance
NULL);

//顯示窗口并刷新客戶區
ShowWindow(hwndiCmdShow);
UpdateWindow(hwnd);

//構建消息循環
while?(?GetMessage(&msgNULL00)?)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return?msg.wParam;
}

//主窗口過程
LRESULT?CALLBACK?WndProc(HWND?hwndUINT?messageWPARAM?wParamLPARAM?lParam)
{
HDC hdc;
PAINTSTRUCT ps;

switch?(?message?)
{
case?WM_CREATE:
GameUI(hwnd);?//創建界面控件
GameStart(hwnd);?//數據初始化
//背景音樂初始化
bMusicOn?=?TRUE;
iMusicBG?=?IDR_WAVE1;
hMenu?=?GetMenu(hwnd);
MusicItem(IDM_MUSIC1);
return?0;
case?WM_PAINT:
hdc?=?BeginPaint(hwnd&ps);
DrawMatrix(hdc);?//繪制游戲區
DrawTetris(hdc000);?//繪制方塊
DrawNext(hdc);?//繪制預覽區
BitBlt(hdc4020016050hDcAlert00SRCCOPY);//繪制提示語
EndPaint(hwnd&ps);
return?0;
case?WM_TIMER:
DropTetris(hwnd);
return?0;
case?WM_DRAWITEM:
DrawButton(lParam);?//繪制方向按鈕
return?TRUE;
case?WM_KEYDOWN:
switch?(?(int)wParam?)
{
case?VK_LEFT:
if?(?!bStart?)?break;
if?(?CheckBlock(x-1y)?)
{
x?--;
hdc?=?GetDC(hwnd);
DrawTetris(hdc-100);
ReleaseDC(hwndhdc);
}

break;
case?VK_RIGHT:
if?(?!bStart?)?break;
if?(?CheckBlock(x+1y)?)
{
x?++;
hdc?=?GetDC(hwnd);
DrawTetris(hdc100);
ReleaseDC(hwndhdc);

評論

共有 條評論