ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:20.35KB ,
资源ID:4890358      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4890358.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(windows程序设计作业.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

windows程序设计作业.docx

1、windows程序设计作业Windows 程序设计 院系:计算机科学与技术年级:09级学号: 姓名:一滚动显示文本的程序/*- SYSMETS2.C - System Metrics Display Program No. 2 (c) Charles Petzold, 1998 -*/#define WINVER 0x0500#include #include sysmets.h#define ID_TIMER 1LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInsta

2、nce, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) static TCHAR szAppName = TEXT (SysMets2) ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInsta

3、nce ; 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 (This

4、 program requires Windows NT!), szAppName, MB_ICONERROR) ; return 0 ; hwnd = CreateWindow (szAppName, TEXT (Get System Metrics No. 2), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL) ; ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; w

5、hile (GetMessage (&msg, NULL, 0, 0) TranslateMessage (&msg) ; DispatchMessage (&msg) ; return msg.wParam ;LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) static int cxChar, cxCaps, cyChar, cyClient, iVscrollPos ; HDC hdc ; int i, y ; / char *p = &(char)i; PAINTSTRUCT

6、 ps ; TCHAR szBuffer25; TCHAR szBuffer10 ; TEXTMETRIC tm ; switch (message) case WM_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.tmExte

7、rnalLeading ; ReleaseDC (hwnd, hdc); return 0 ; case WM_SIZE: cyClient = HIWORD (lParam) ; return 0 ; /* case WM_VSCROLL: switch (LOWORD (wParam) case SB_LINEUP: iVscrollPos -= 1 ; break ; case SB_LINEDOWN: iVscrollPos += 1 ; break ; case SB_PAGEUP: iVscrollPos -= cyClient / cyChar ; break ; case SB

8、_PAGEDOWN: iVscrollPos += cyClient / cyChar ; break ; case SB_THUMBPOSITION: iVscrollPos = HIWORD (wParam) ; break ; default : break ; */ / iVscrollPos = max (0, min (iVscrollPos, NUMLINES - 1) ; case WM_TIMER : iVscrollPos +=1; if(iVscrollPos = NUMLINES) iVscrollPos = 0; Sleep(1000); InvalidateRect

9、 (hwnd, NULL, TRUE) ; return 0 ; /*if (iVscrollPos != GetScrollPos (hwnd, SB_VERT) SetScrollPos (hwnd, SB_VERT, iVscrollPos, TRUE) ; InvalidateRect (hwnd, NULL, TRUE) ; return 0 ;*/ case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; for (i = 0 ; i NUMLINES ; i+) y = cyChar * (i - iVscrollPos) ; TextOut (

10、hdc, 0, y,szBuffer2, wsprintf(szBuffer2,TEXT(%5d), i+1); TextOut (hdc, 80, y, sysmetricsi.szLabel, lstrlen (sysmetricsi.szLabel) ; TextOut (hdc, 32 * cxCaps, y, sysmetricsi.szDesc, lstrlen (sysmetricsi.szDesc) ; SetTextAlign (hdc, TA_RIGHT | TA_TOP) ; TextOut (hdc, 32 * cxCaps + 50 * cxChar, y, szBu

11、ffer, wsprintf (szBuffer, TEXT (%5d), GetSystemMetrics (sysmetricsi.iIndex) ; SetTextAlign (hdc, TA_LEFT | TA_TOP) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: KillTimer (hwnd, ID_TIMER) ; PostQuitMessage (0) ; return 0 ; return DefWindowProc (hwnd, message, wParam, lParam) ;/*- SYSMETS2.C -

12、 System Metrics Display Program No. 2 (c) Charles Petzold, 1998 -*/#define WINVER 0x0500#include #include sysmets.h#define ID_TIMER 1LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) static TCHAR szA

13、ppName = TEXT (SysMets2) ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; 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 =

14、 LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = NULL ; wndclass.lpszClassName = szAppName ; if (!RegisterClass (&wndclass) MessageBox (NULL, TEXT (This program requires Windows NT!), szAppName, MB_ICONERROR) ; return 0 ; hwnd =

15、 CreateWindow (szAppName, TEXT (Get System Metrics No. 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) ; DispatchMessag

16、e (&msg) ; return msg.wParam ;LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) static int cxChar, cxCaps, cyChar, cyClient, iVscrollPos ; HDC hdc ; int i, y ; / char *p = &(char)i; PAINTSTRUCT ps ; TCHAR szBuffer25; TCHAR szBuffer10 ; TEXTMETRIC tm ; switch (message)

17、case WM_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); return 0 ; case WM_SIZE: cyClient = HIW

18、ORD (lParam) ; return 0 ; /* case WM_VSCROLL: switch (LOWORD (wParam) case SB_LINEUP: iVscrollPos -= 1 ; break ; case SB_LINEDOWN: iVscrollPos += 1 ; break ; case SB_PAGEUP: iVscrollPos -= cyClient / cyChar ; break ; case SB_PAGEDOWN: iVscrollPos += cyClient / cyChar ; break ; case SB_THUMBPOSITION:

19、 iVscrollPos = HIWORD (wParam) ; break ; default : break ; */ / iVscrollPos = max (0, min (iVscrollPos, NUMLINES - 1) ; case WM_TIMER : iVscrollPos +=1; if(iVscrollPos = NUMLINES) iVscrollPos = 0; Sleep(1000); InvalidateRect (hwnd, NULL, TRUE) ; return 0 ; /*if (iVscrollPos != GetScrollPos (hwnd, SB

20、_VERT) SetScrollPos (hwnd, SB_VERT, iVscrollPos, TRUE) ; InvalidateRect (hwnd, NULL, TRUE) ; return 0 ;*/ case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; for (i = 0 ; i hInstance; for(i=0;i8;i+) hBitmapi=LoadBitmap(hInstance,TEXT(picnamei.c_str(); return 0; case WM_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