windows程序设计作业.docx

上传人:b****3 文档编号:4890358 上传时间:2022-12-11 格式:DOCX 页数:25 大小:20.35KB
下载 相关 举报
windows程序设计作业.docx_第1页
第1页 / 共25页
windows程序设计作业.docx_第2页
第2页 / 共25页
windows程序设计作业.docx_第3页
第3页 / 共25页
windows程序设计作业.docx_第4页
第4页 / 共25页
windows程序设计作业.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

windows程序设计作业.docx

《windows程序设计作业.docx》由会员分享,可在线阅读,更多相关《windows程序设计作业.docx(25页珍藏版)》请在冰豆网上搜索。

windows程序设计作业.docx

windows程序设计作业

Windows程序设计

 

 

 

院系:

计算机科学与技术

年级:

09级

学号:

姓名:

一.滚动显示文本的程序

/*----------------------------------------------------

SYSMETS2.C--SystemMetricsDisplayProgramNo.2

(c)CharlesPetzold,1998

----------------------------------------------------*/

#defineWINVER0x0500

#include

#include"sysmets.h"

#defineID_TIMER1

LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);

intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,

PSTRszCmdLine,intiCmdShow)

{

staticTCHARszAppName[]=TEXT("SysMets2");

HWNDhwnd;

MSGmsg;

WNDCLASSwndclass;

wndclass.style=CS_HREDRAW|CS_VREDRAW;

wndclass.lpfnWndProc=WndProc;

wndclass.cbClsExtra=0;

wndclass.cbWndExtra=0;

wndclass.hInstance=hInstance;

wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);

wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);

wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);

wndclass.lpszMenuName=NULL;

wndclass.lpszClassName=szAppName;

if(!

RegisterClass(&wndclass))

{

MessageBox(NULL,TEXT("ThisprogramrequiresWindowsNT!

"),

szAppName,MB_ICONERROR);

return0;

}

hwnd=CreateWindow(szAppName,TEXT("GetSystemMetricsNo.2"),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,CW_USEDEFAULT,

CW_USEDEFAULT,CW_USEDEFAULT,

NULL,NULL,hInstance,NULL);

ShowWindow(hwnd,iCmdShow);

UpdateWindow(hwnd);

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

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

returnmsg.wParam;

}

LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam)

{

staticintcxChar,cxCaps,cyChar,cyClient,iVscrollPos;

HDChdc;

inti,y;

//char*p=&(char)i;

PAINTSTRUCTps;

TCHARszBuffer2[5];

TCHARszBuffer[10];

TEXTMETRICtm;

switch(message)

{

caseWM_CREATE:

hdc=GetDC(hwnd);

SetTimer(hwnd,ID_TIMER,300,NULL);/////////////////////

GetTextMetrics(hdc,&tm);

cxChar=tm.tmAveCharWidth;

cxCaps=(tm.tmPitchAndFamily&1?

3:

2)*cxChar/2;

cyChar=tm.tmHeight+tm.tmExternalLeading;

ReleaseDC(hwnd,hdc);

return0;

caseWM_SIZE:

cyClient=HIWORD(lParam);

return0;

/*caseWM_VSCROLL:

switch(LOWORD(wParam))

{

caseSB_LINEUP:

iVscrollPos-=1;

break;

caseSB_LINEDOWN:

iVscrollPos+=1;

break;

caseSB_PAGEUP:

iVscrollPos-=cyClient/cyChar;

break;

caseSB_PAGEDOWN:

iVscrollPos+=cyClient/cyChar;

break;

caseSB_THUMBPOSITION:

iVscrollPos=HIWORD(wParam);

break;

default:

break;

}*/

//iVscrollPos=max(0,min(iVscrollPos,NUMLINES-1));

caseWM_TIMER:

iVscrollPos+=1;

if(iVscrollPos>=NUMLINES)

{

iVscrollPos=0;

Sleep(1000);

}

InvalidateRect(hwnd,NULL,TRUE);

return0;

/*if(iVscrollPos!

=GetScrollPos(hwnd,SB_VERT))

{

SetScrollPos(hwnd,SB_VERT,iVscrollPos,TRUE);

InvalidateRect(hwnd,NULL,TRUE);

}

return0;*/

caseWM_PAINT:

hdc=BeginPaint(hwnd,&ps);

for(i=0;i

{

y=cyChar*(i-iVscrollPos);

TextOut(hdc,0,y,szBuffer2,

wsprintf(szBuffer2,TEXT("%5d"),

i+1));

TextOut(hdc,80,y,

sysmetrics[i].szLabel,

lstrlen(sysmetrics[i].szLabel));

TextOut(hdc,32*cxCaps,y,

sysmetrics[i].szDesc,

lstrlen(sysmetrics[i].szDesc));

SetTextAlign(hdc,TA_RIGHT|TA_TOP);

TextOut(hdc,32*cxCaps+50*cxChar,y,szBuffer,

wsprintf(szBuffer,TEXT("%5d"),

GetSystemMetrics(sysmetrics[i].iIndex)));

SetTextAlign(hdc,TA_LEFT|TA_TOP);

}

EndPaint(hwnd,&ps);

return0;

caseWM_DESTROY:

KillTimer(hwnd,ID_TIMER);

PostQuitMessage(0);

return0;

}

returnDefWindowProc(hwnd,message,wParam,lParam);

}

/*----------------------------------------------------

SYSMETS2.C--SystemMetricsDisplayProgramNo.2

(c)CharlesPetzold,1998

----------------------------------------------------*/

#defineWINVER0x0500

#include

#include"sysmets.h"

#defineID_TIMER1

LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);

intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,

PSTRszCmdLine,intiCmdShow)

{

staticTCHARszAppName[]=TEXT("SysMets2");

HWNDhwnd;

MSGmsg;

WNDCLASSwndclass;

wndclass.style=CS_HREDRAW|CS_VREDRAW;

wndclass.lpfnWndProc=WndProc;

wndclass.cbClsExtra=0;

wndclass.cbWndExtra=0;

wndclass.hInstance=hInstance;

wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);

wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);

wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);

wndclass.lpszMenuName=NULL;

wndclass.lpszClassName=szAppName;

if(!

RegisterClass(&wndclass))

{

MessageBox(NULL,TEXT("ThisprogramrequiresWindowsNT!

"),

szAppName,MB_ICONERROR);

return0;

}

hwnd=CreateWindow(szAppName,TEXT("GetSystemMetricsNo.2"),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,CW_USEDEFAULT,

CW_USEDEFAULT,CW_USEDEFAULT,

NULL,NULL,hInstance,NULL);

ShowWindow(hwnd,iCmdShow);

UpdateWindow(hwnd);

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

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

returnmsg.wParam;

}

LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam)

{

staticintcxChar,cxCaps,cyChar,cyClient,iVscrollPos;

HDChdc;

inti,y;

//char*p=&(char)i;

PAINTSTRUCTps;

TCHARszBuffer2[5];

TCHARszBuffer[10];

TEXTMETRICtm;

switch(message)

{

caseWM_CREATE:

hdc=GetDC(hwnd);

SetTimer(hwnd,ID_TIMER,300,NULL);/////////////////////

GetTextMetrics(hdc,&tm);

cxChar=tm.tmAveCharWidth;

cxCaps=(tm.tmPitchAndFamily&1?

3:

2)*cxChar/2;

cyChar=tm.tmHeight+tm.tmExternalLeading;

ReleaseDC(hwnd,hdc);

return0;

caseWM_SIZE:

cyClient=HIWORD(lParam);

return0;

/*caseWM_VSCROLL:

switch(LOWORD(wParam))

{

caseSB_LINEUP:

iVscrollPos-=1;

break;

caseSB_LINEDOWN:

iVscrollPos+=1;

break;

caseSB_PAGEUP:

iVscrollPos-=cyClient/cyChar;

break;

caseSB_PAGEDOWN:

iVscrollPos+=cyClient/cyChar;

break;

caseSB_THUMBPOSITION:

iVscrollPos=HIWORD(wParam);

break;

default:

break;

}*/

//iVscrollPos=max(0,min(iVscrollPos,NUMLINES-1));

caseWM_TIMER:

iVscrollPos+=1;

if(iVscrollPos>=NUMLINES)

{

iVscrollPos=0;

Sleep(1000);

}

InvalidateRect(hwnd,NULL,TRUE);

return0;

/*if(iVscrollPos!

=GetScrollPos(hwnd,SB_VERT))

{

SetScrollPos(hwnd,SB_VERT,iVscrollPos,TRUE);

InvalidateRect(hwnd,NULL,TRUE);

}

return0;*/

caseWM_PAINT:

hdc=BeginPaint(hwnd,&ps);

for(i=0;i

{

y=cyChar*(i-iVscrollPos);

TextOut(hdc,0,y,szBuffer2,

wsprintf(szBuffer2,TEXT("%5d"),

i+1));

TextOut(hdc,80,y,

sysmetrics[i].szLabel,

lstrlen(sysmetrics[i].szLabel));

TextOut(hdc,32*cxCaps,y,

sysmetrics[i].szDesc,

lstrlen(sysmetrics[i].szDesc));

SetTextAlign(hdc,TA_RIGHT|TA_TOP);

TextOut(hdc,32*cxCaps+50*cxChar,y,szBuffer,

wsprintf(szBuffer,TEXT("%5d"),

GetSystemMetrics(sysmetrics[i].iIndex)));

SetTextAlign(hdc,TA_LEFT|TA_TOP);

}

EndPaint(hwnd,&ps);

return0;

caseWM_DESTROY:

KillTimer(hwnd,ID_TIMER);

PostQuitMessage(0);

return0;

}

returnDefWindowProc(hwnd,message,wParam,lParam);

}

二.扫雷

#include"luckydog.h"

LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);

intWINAPIWinMain(HINSTANCEhInstance,

HINSTANCEhPrevInstance,

LPSTRlpCmdLine,

intnShowCmd)

{

HWNDhwnd;

WNDCLASScwnd;

cwnd.cbClsExtra=0;

cwnd.cbWndExtra=0;

cwnd.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);

cwnd.hCursor=LoadCursor(NULL,IDC_ARROW);

cwnd.hIcon=LoadIcon(hInstance,"IDI_ICON");

cwnd.hInstance=hInstance;

cwnd.lpfnWndProc=WndProc;

cwnd.lpszClassName=szAppName;

cwnd.lpszMenuName="ID_MENU";

cwnd.style=CS_HREDRAW|CS_VREDRAW;

xBorder=GetSystemMetrics(SM_CXBORDER);

yBorder=GetSystemMetrics(SM_CYBORDER);

yCaption=GetSystemMetrics(SM_CYCAPTION);

yMenu=GetSystemMetrics(SM_CYMENU);

Init();

xSize=2*xBorder+COL*XSIZE+2*BORDER+4*SHADOW;

ySize=2*yBorder+ROW*YSIZE+yCaption+yMenu+3*BORDER+6*SHADOW+INFO;

if(!

RegisterClass(&cwnd))

{

MessageBox(NULL,"Errortoregisterthewindowclass!

","error",MB_ICONERROR);

return0;

}

hwnd=CreateWindow(szAppName,TEXT("扫雷"),WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,CW_USEDEFAULT,CW_USEDEFAULT,xSize,ySize,NULL,NULL,hInstance,NULL);

ShowWindow(hwnd,nShowCmd);

UpdateWindow(hwnd);

MSGmsg;

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

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

returnmsg.wParam;

}

LRESULTCALLBACKWndProc(HWNDhwnd,UINTmsg,WPARAMwParam,LPARAMlParam)

{

HDChdc;

HBRUSHhBrush;

PAINTSTRUCTps;

POINTpt;

staticintx,y,i,j,di,dj,k,timer;

staticHINSTANCEhInstance;

staticintiSelection_RANK=ID_MENU_JUNIOR;

staticboollbutton,rbutton;

HMENUhMenu;

strcpy(heroTime[0].name,"unknownnamehero");

strcpy(heroTime[1].name,"unknownnamehero");

strcpy(heroTime[2].name,"unknownnamehero");

heroTime[0].time=heroTime[1].time=heroTime[2].time=999;

switch(msg)

{

caseWM_CREATE:

Init();

hInstance=((LPCREATESTRUCT)lParam)->hInstance;

for(i=0;i<8;i++)

hBitmap[i]=LoadBitmap(hInstance,TEXT(picname[i].c_str()));

return0;

caseWM_SIZE:

Grid.left=SHADOW+BORDER;

Grid.top=INFO+2*BORDER+SHADOW*3;

Grid.bottom=Grid.top+ROW*YSIZE+2*SHADOW;

Grid.right=Grid.left+COL*XSIZE+2*SHADOW;

rect_info.left=Grid.left;

rect_info.top=2*SHADOW+BORDER;

rect_info.right=Grid.right;

rect_info.bottom=rect_info.top+INFO;

rect_num.left=re

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1