




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
chap01/*- HelloMsg.c - Displays Hello, Windows 98! in a message box (c) Charles Petzold, 1998 -*/#include int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) MessageBox (NULL, TEXT (Hello, Windows 98!), TEXT (HelloMsg), 0) ; return 0 ;chap02/*- SCRNSIZE.C - Displays screen size in a message box (c) Charles Petzold, 1998 -*/#include #include #include int CDECL MessageBoxPrintf (TCHAR * szCaption, TCHAR * szFormat, .) TCHAR szBuffer 1024 ; va_list pArgList ; / The va_start macro (defined in STDARG.H) is usually equivalent to: / pArgList = (char *) &szFormat + sizeof (szFormat) ; va_start (pArgList, szFormat) ; / The last argument to wvsprintf points to the arguments _vsntprintf (szBuffer, sizeof (szBuffer) / sizeof (TCHAR), szFormat, pArgList) ; / The va_end macro just zeroes out pArgList for no good reason va_end (pArgList) ; return MessageBox (NULL, szBuffer, szCaption, 0) ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) int cxScreen, cyScreen ; cxScreen = GetSystemMetrics (SM_CXSCREEN) ; cyScreen = GetSystemMetrics (SM_CYSCREEN) ; MessageBoxPrintf (TEXT (ScrnSize), TEXT (The screen is %i pixels wide by %i pixels high.), cxScreen, cyScreen) ; return 0 ;chap03/*- HELLOWIN.C - Displays Hello, Windows 98! in client area (c) Charles Petzold, 1998 -*/#include LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) static TCHAR szAppName = TEXT (HelloWin) ; 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 = 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 = CreateWindow (szAppName, / window class name TEXT (The Hello Program), / window caption WS_OVERLAPPEDWINDOW, / window style CW_USEDEFAULT, / initial x position CW_USEDEFAULT, / initial y position CW_USEDEFAULT, / initial x size CW_USEDEFAULT, / initial y size NULL, / parent window handle NULL, / window menu handle hInstance, / program instance handle NULL) ; / creation parameters ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0) TranslateMessage (&msg) ; DispatchMessage (&msg) ; return msg.wParam ;LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) HDC hdc ; PAINTSTRUCT ps ; RECT rect ; switch (message) case WM_CREATE: PlaySound (TEXT (hellowin.wav), NULL, SND_FILENAME | SND_ASYNC) ; return 0 ; case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; GetClientRect (hwnd, &rect) ; DrawText (hdc, TEXT (Hello, Windows 98!), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; return DefWindowProc (hwnd, message, wParam, lParam) ;chap04-1/*- HELLOWIN.C - Displays Hello, Windows 98! in client area (c) Charles Petzold, 1998 -*/#include LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) static TCHAR szAppName = TEXT (HelloWin) ; 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 = 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 = CreateWindow (szAppName, / window class name TEXT (The Hello Program), / window caption WS_OVERLAPPEDWINDOW, / window style CW_USEDEFAULT, / initial x position CW_USEDEFAULT, / initial y position CW_USEDEFAULT, / initial x size CW_USEDEFAULT, / initial y size NULL, / parent window handle NULL, / window menu handle hInstance, / program instance handle NULL) ; / creation parameters ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0) TranslateMessage (&msg) ; DispatchMessage (&msg) ; return msg.wParam ;LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) HDC hdc ; PAINTSTRUCT ps ; RECT rect ; switch (message) case WM_CREATE: PlaySound (TEXT (hellowin.wav), NULL, SND_FILENAME | SND_ASYNC) ; return 0 ; case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; GetClientRect (hwnd, &rect) ; DrawText (hdc, TEXT (Hello, Windows 98!), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; return DefWindowProc (hwnd, message, wParam, lParam) ;chap04-1/*- SYSMETS.H - System metrics display structure -*/#define NUMLINES (int) (sizeof sysmetrics / sizeof sysmetrics 0)struct int iIndex ; TCHAR * szLabel ; TCHAR * szDesc ;sysmetrics = SM_CXSCREEN, TEXT (SM_CXSCREEN), TEXT (Screen width in pixels), SM_CYSCREEN, TEXT (SM_CYSCREEN), TEXT (Screen height in pixels), SM_CXVSCROLL, TEXT (SM_CXVSCROLL), TEXT (Vertical scroll width), SM_CYHSCROLL, TEXT (SM_CYHSCROLL), TEXT (Horizontal scroll height), SM_CYCAPTION, TEXT (SM_CYCAPTION), TEXT (Caption bar height), SM_CXBORDER, TEXT (SM_CXBORDER), TEXT (Window border width), SM_CYBORDER, TEXT (SM_CYBORDER), TEXT (Window border height), SM_CXFIXEDFRAME, TEXT (SM_CXFIXEDFRAME), TEXT (Dialog window frame width), SM_CYFIXEDFRAME, TEXT (SM_CYFIXEDFRAME), TEXT (Dialog window frame height), SM_CYVTHUMB, TEXT (SM_CYVTHUMB), TEXT (Vertical scroll thumb height), SM_CXHTHUMB, TEXT (SM_CXHTHUMB), TEXT (Horizontal scroll thumb width), SM_CXICON, TEXT (SM_CXICON), TEXT (Icon width), SM_CYICON, TEXT (SM_CYICON), TEXT (Icon height), SM_CXCURSOR, TEXT (SM_CXCURSOR), TEXT (Cursor width), SM_CYCURSOR, TEXT (SM_CYCURSOR), TEXT (Cursor height), SM_CYMENU, TEXT (SM_CYMENU), TEXT (Menu bar height), SM_CXFULLSCREEN, TEXT (SM_CXFULLSCREEN), TEXT (Full screen client area width), SM_CYFULLSCREEN, TEXT (SM_CYFULLSCREEN), TEXT (Full screen client area height), SM_CYKANJIWINDOW, TEXT (SM_CYKANJIWINDOW), TEXT (Kanji window height), SM_MOUSEPRESENT, TEXT (SM_MOUSEPRESENT), TEXT (Mouse present flag), SM_CYVSCROLL, TEXT (SM_CYVSCROLL), TEXT (Vertical scroll arrow height), SM_CXHSCROLL, TEXT (SM_CXHSCROLL), TEXT (Horizontal scroll arrow width), SM_DEBUG, TEXT (SM_DEBUG), TEXT (Debug version flag), SM_SWAPBUTTON, TEXT (SM_SWAPBUTTON), TEXT (Mouse buttons swapped flag), SM_CXMIN, TEXT (SM_CXMIN), TEXT (Minimum window width), SM_CYMIN, TEXT (SM_CYMIN), TEXT (Minimum window height), SM_CXSIZE, TEXT (SM_CXSIZE), TEXT (Min/Max/Close button width), SM_CYSIZE, TEXT (SM_CYSIZE), TEXT (Min/Max/Close button height), SM_CXSIZEFRAME, TEXT (SM_CXSIZEFRAME), TEXT (Window sizing frame width), SM_CYSIZEFRAME, TEXT (SM_CYSIZEFRAME), TEXT (Window sizing frame height), SM_CXMINTRACK, TEXT (SM_CXMINTRACK), TEXT (Minimum window tracking width), SM_CYMINTRACK, TEXT (SM_CYMINTRACK), TEXT (Minimum window tracking height), SM_CXDOUBLECLK, TEXT (SM_CXDOUBLECLK), TEXT (Double click x tolerance), SM_CYDOUBLECLK, TEXT (SM_CYDOUBLECLK), TEXT (Double click y tolerance), SM_CXICONSPACING, TEXT (SM_CXICONSPACING), TEXT (Horizontal icon spacing), SM_CYICONSPACING, TEXT (SM_CYICONSPACING), TEXT (Vertical icon spacing), SM_MENUDROPALIGNMENT, TEXT (SM_MENUDROPALIGNMENT), TEXT (Left or right menu drop), SM_PENWINDOWS, TEXT (SM_PENWINDOWS), TEXT (Pen extensions installed), SM_DBCSENABLED, TEXT (SM_DBCSENABLED), TEXT (Double-Byte Char Set enabled), SM_CMOUSEBUTTONS, TEXT (SM_CMOUSEBUTTONS), TEXT (Number of mouse buttons), SM_SECURE, TEXT (SM_SECURE), TEXT (Security present flag), SM_CXEDGE, TEXT (SM_CXEDGE), TEXT (3-D border width), SM_CYEDGE, TEXT (SM_CYEDGE), TEXT (3-D border height), SM_CXMINSPACING, TEXT (SM_CXMINSPACING), TEXT (Minimized window spacing width), SM_CYMINSPACING, TEXT (SM_CYMINSPACING), TEXT (Minimized window spacing height), SM_CXSMICON, TEXT (SM_CXSMICON), TEXT (Small icon width), SM_CYSMICON, TEXT (SM_CYSMICON), TEXT (Small icon height), SM_CYSMCAPTION, TEXT (SM_CYSMCAPTION), TEXT (Small caption height), SM_CXSMSIZE, TEXT (SM_CXSMSIZE), TEXT (Small caption button width), SM_CYSMSIZE, TEXT (SM_CYSMSIZE), TEXT (Small caption button height), SM_CXMENUSIZE, TEXT (SM_CXMENUSIZE), TEXT (Menu bar button width), SM_CYMENUSIZE, TEXT (SM_CYMENUSIZE), TEXT (Menu bar button height), SM_ARRANGE, TEXT (SM_ARRANGE), TEXT (How minimized windows arranged), SM_CXMINIMIZED, TEXT (SM_CXMINIMIZED), TEXT (Minimized window width), SM_CYMINIMIZED, TEXT (SM_CYMINIMIZED), TEXT (Minimized window height), SM_CXMAXTRACK, TEXT (SM_CXMAXTRACK), TEXT (Maximum draggable width), SM_CYMAXTRACK, TEXT (SM_CYMAXTRACK), TEXT (Maximum draggable height), SM_CXMAXIMIZED, TEXT (SM_CXMAXIMIZED), TEXT (Width of maximized window), SM_CYMAXIMIZED, TEXT (SM_CYMAXIMIZED), TEXT (Height of maximized window), SM_NETWORK, TEXT (SM_NETWORK), TEXT (Network present flag), SM_CLEANBOOT, TEXT (SM_CLEANBOOT), TEXT (How system was booted), SM_CXDRAG, TEXT (SM_CXDRAG), TEXT (Avoid drag x tolerance), SM_CYDRAG, TEXT (SM_CYDRAG), TEXT (Avoid drag y tolerance), SM_SHOWSOUNDS, TEXT (SM_SHOWSOUNDS), TEXT (Present sounds visually), SM_CXMENUCHECK, TEXT (SM_CXMENUCHECK), TEXT (Menu check-mark width), SM_CYMENUCHECK, TEXT (SM_CYMENUCHECK), TEXT (Menu check-mark height), SM_SLOWMACHINE, TEXT (SM_SLOWMACHINE), TEXT (Slow processor flag), SM_MIDEASTENABLED, TEXT (SM_MIDEASTENABLED), TEXT (Hebrew and Arabic enabled flag), SM_MOUSEWHEELPRESENT, TEXT (SM_MOUSEWHEELPRESENT), TEXT (Mouse wheel present flag), SM_XVIRTUALSCREEN, TEXT (SM_XVIRTUALSCREEN), TEXT (Virtual screen x origin), SM_YVIRT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年养老护理员三级题库及答案大全
- DB51-T 3301-2025 质量基础设施“一站式”服务中心(站点)建设管理与服务规范
- 2025年封丘中考物理试卷及答案
- 2025年护理事业编看鸭题库及答案
- 2025年护理主管课程题库及答案9
- 2025年济职护理单招题库及答案
- 广西pcr上岗证考试题及答案
- 2025年及未来5年中国文化娱乐用地行业发展前景预测及投资战略研究报告
- 2025年CPA考试会计科目重点难点突破模拟试卷及答案解析
- 弱电考试题目及答案-知识题库
- 项目经理年中会议汇报
- 小学生美容知识培训内容课件
- 2024年北控水务集团招聘笔试真题
- 2025年盘锦市总工会面向社会公开招聘工会社会工作者52人考试参考试题及答案解析
- 2025河北水发节水有限公司公开招聘工作人员16人笔试参考题库附答案解析
- 2025年秋人教版数学四年级上学期第一次月考测试卷【附答案】
- 模拟电子技术基础 第4版黄丽亚课后参考答案
- 全国一等奖初中语文优质课《背影》精品课件
- 普通高等医学教育非直属附属医院认定标准测评表(普通高等医学院校临床教学基地建设与医学教育临床基地建设)
- 客户回访方案
- 贵州省公路路产损害赔(补)偿收费项目及标准
评论
0/150
提交评论