windows编程技术.doc_第1页
windows编程技术.doc_第2页
windows编程技术.doc_第3页
windows编程技术.doc_第4页
windows编程技术.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计(2013-2014学年第2学期)课程名称: WINDOWS编程技术 学生姓名: XXX 专业班级: 11计算机一班 学 院: 信电学院 学 号: 学生成绩: 课程设计题目: 颜色滚动条一、设计目标与内容:1. 了解Windows编程的基础知识,掌握MFC应用程序的基本知识;2. 基本掌握面向对象程序设计的基本思路和方法;3. 掌握用VC+开发应用程序的的一般步骤和方法;4. 能够利用所学的基本知识, 设计一个简单的颜色滚动条,具有以下功能:具有不止一种颜色。每个滚动条控制不同的颜色变化。二,设计要求:1. 用VC进行编码,实现应用程序的功能。注重编码质量,代码要有适当的注释;2. 提交设计报告一份(课程设计任务书、目录、主要的数据结构、设计的基本思路、设计的步骤及主要代码、心得体会、参考文献)。三. 内容介绍本次课程设计是使用VC+编写的一个颜色滚动条,其中背景颜色为黑色的,另外还有3个颜色滚动条,红 蓝 绿。通过滚动3个中的任意一个都会是背景颜色的颜色随着滚动的条的调节强弱,颜色的深浅也会随着其变化。当同时调节3种颜色时,颜色的变化会根据的颜色的混合改变如下图所示: 当调节其中一种颜色时如红色: 其中调节颜色的强弱从0到255,当其他的两种颜色也调节时:还包含以下常用的功能如:移动,调节大小,最大化,最小化等4 实现这个课程的源代码:#include LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;BOOL CALLBACK ColorScrDlg (HWND, UINT, WPARAM, LPARAM) ;HWND hDlgModeless ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) static TCHAR szAppName = TEXT (Colors2) ; 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 = CreateSolidBrush (0L) ; 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, TEXT (Color Scroll), WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL) ; ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; hDlgModeless = CreateDialog (hInstance, TEXT (ColorScrDlg), hwnd, ColorScrDlg) while (GetMessage (&msg, NULL, 0, 0) if (hDlgModeless = 0 | !IsDialogMessage (hDlgModeless, &msg) TranslateMessage (&msg) ; DispatchMessage (&msg) ; return msg.wParam ;LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) switch (message) case WM_DESTROY : DeleteObject (HGDIOBJ) SetClassLong (hwnd, GCL_HBRBACKGROUND, (LONG) GetStockObject (WHITE_BRUSH) ; PostQuitMessage (0) ; return 0 ; return DefWindowProc (hwnd, message, wParam, lParam) ;BOOL CALLBACK ColorScrDlg (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) static int iColor3 ; HWND hwndParent, hCtrl ; int iCtrlID, iIndex ; switch (message) case WM_INITDIALOG : for (iCtrlID = 10 ; iCtrlID 13 ; iCtrlID+) hCtrl = GetDlgItem (hDlg, iCtrlID) ; SetScrollRange (hCtrl, SB_CTL, 0, 255, FALSE) ; SetScrollPos (hCtrl, SB_CTL, 0, FALSE) ; return TRUE ; case WM_VSCROLL : hCtrl = (HWND) lParam ; iCtrlID = GetWindowLong (hCtrl, GWL_ID) ; iIndex = iCtrlID - 10 ; hwndParent = GetParent (hDlg) ; switch (LOWORD (wParam) case SB_PAGEDOWN : iColoriIndex += 15 ; / fall through case SB_LINEDOWN : iColoriIndex = min (255, iColoriIndex + 1) ; break ; case SB_PAGEUP : iColoriIndex -= 15 ; / fall through case SB_LINEUP : iColoriIndex = max (0, iColoriIndex - 1) ; break ; case SB_TOP : iColoriIndex = 0 ; break ; case SB_BOTTOM : iColoriIndex = 255 ; break ; case SB_THUMBPOSITION : case SB_THUMBTRACK : iColoriIndex = HIWORD (wParam) ; break ; default : return FALSE ; SetScrollPos (hCtrl, SB_CTL, iColoriIndex, TRUE) ; SetDlgItemInt (hDlg, iCtrlID + 3, iColoriIndex, FALSE) ; DeleteObject (HGDIOBJ) SetClassLong (hwndParent, GCL_HBRBACKGROUND, (LONG) CreateSolidBrush ( RGB (iColor0, iColor1, iColor2) ; InvalidateRect (hwndParent, NULL, TRUE) ; return TRUE ; return FALSE ;五实验总结:设计开发一个软件,首先要了解所涉及到行业的现状,一定要想办法进行行业调研,从不同途径获取该行业的专业知识。合理安排系统设计开发时间,进行实际开发会发现需求分析与系统设计占主要的时间,如果前面的工作做好了,编码实现占用的时间很短。所以我们要借助软件工程的思想-对软件开发过程进行控制。在开发一个系统时,前期的分析准备工作非常的重要。对于系统的需求要明确,这样才能做到有的放矢。特别是对于系统中数据的存储和重要算法的设计,设计的不好会出现大量的冗余,不仅浪费存储空间,还影响查询效率。在设计的初期,对一个功能模块的设计,要想出两种或两种以上方案,这样可以进行比较,从而获得更佳的设计方案,设计开发过程中一定要吸取经验教训,避免返工。尤其是一些重要算法或功能。在对具体实现功能模块进行编程时,要养成良好的加注释的习惯,这样的话不仅能理清思路,而且可以为以后的调试程序带来很大的方便。懂得

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论