用户界面设计

上传人:ni****g 文档编号:504416224 上传时间:2024-02-09 格式:DOC 页数:13 大小:35.51KB
返回 下载 相关 举报
用户界面设计_第1页
第1页 / 共13页
用户界面设计_第2页
第2页 / 共13页
用户界面设计_第3页
第3页 / 共13页
用户界面设计_第4页
第4页 / 共13页
用户界面设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《用户界面设计》由会员分享,可在线阅读,更多相关《用户界面设计(13页珍藏版)》请在金锄头文库上搜索。

1、用户界面设计1一,控件:1,选定和放置控件,在进行MFC程序设计的时候系统会为我们提供一个控件面板,用户可以选择自己想要的控件然后放到对话框当中。用鼠标单击来选择控件,对于对话框中的控件可以用鼠标单击来选择也可以按住Shift键来选择多个控件,也可以拖拉来选择多个控件。2,按件的大小和位置也是可以改变的,可以用鼠标拖动来选择控件想放置的地方,如果我们想去改变对话框控件的大小可以选中控件这个时候控件就会出现虚边框,在这个虚边框的焦点处拖动鼠标来改变控件的大小。3,控件的复制、粘帖、删除:记住几个快捷键:ctrl+c,ctrl+v,delete 4,控件的对齐:如果有多个控件的时候想去对齐多个控件

2、Visual C+给我们提供了多个对齐的方式在布局菜单中可以找到多种对齐方式MFC之常用控件:CStatic,静态控件这个控件是用来显示方本的,不会接受用户的输入,但是如果这个控件有SS_NOTIFY风格的话它可以通知鼠标消息到父窗口CStatic控件的主要方法:Create方法:用来创建一个文本窗口并把它关联到一个CStatic对象上BOOL Create(LPCTSTR lpszText,DWORD dwStyle,CONST RECT&rect,CWnd*pParentWnd,UINT nID=0xffff);各参数的含义:lpszText表示的是控件的文本,dwStyle表示设置控件的

3、风格rect表示设定控件的显示区域pParentWnd用来确定控件的父窗口的指针nID用于设定控件的ID值GetStyle:获取控件的风格DWORD GetStyle()const;GetExStyle:这个是用来获取控件的扩展风格DWORD GetExStyle()const;SetBitmap:这个函数是用来把一个位图关联到CStatic控件当中这个时候要注意的就是会把控件改变大小来适应位图的大小,而不是由位图去适应控件的大小。HBITMAP SetBitmap(HBITMAP hBitmap);这里的数是一个位图句柄,而返回的值也是一个位图句柄,这里返回的是这个CStatic控件先前关联

4、的位图如果先前这个控件没有关联任何位图的话它会返回NULL GetBitmap:用来获得CStatic关联的位图句柄HBITMAP GetBitmap()const;这里要说明的是如果先前并没有关联位图的话它就会返回NULL SetIcon:这个方法是用来设置一个图标关联到CStatic控件上HICON SetIcon(HICON hIcon);这里的参数和返回值都是一个图标句柄,参数表示的是要关联的图标句柄,而返回值是一个先前已关联的图标句柄如果是先前没有关联图标句柄的话则会返回NULL GetIcon:这个函数用来获取CStatic控件相关联的图标句柄HICON GetIcon()cons

5、t;这里如果这个CStatic控件没有关联什么图的话它就会返回NULL SetCursor:这个函数来关联与这个CStatic控件相关联的光标句柄HCURSOR SetCursor(HCURSOR hCursor);这里的参数是一个光标的句柄这个句柄是指要关联的光标,如果这个控件之前关联过光标的话它会返回先前关联的光标的句柄,如果先前没有关联什么光标的话这里会返回NULL HCURSOR GetCursor()const;这个函数会返回一个光标的句柄,如果这个CStatic控件没有关联什么光标的话它就会返回NULL HENHMETAFILE SetEnhMetaFile(HENHMETAFIL

6、E hMetaFile);这里是把CStatic控件关联一个增强型的图元文件,返回值会返回之前已关联的增强型的图元文件的句柄,如果先前没有关联的话它会返回一个NULL同样的还有一个GetEnhMetaFile函数它是用来获得已关联的图元文件的句柄的。HENHMETAFILE GetEnhMetaFile()const;现在我们举个例子如果我们想去在一个对话框中去动态加入一个CStatic控件的话们要去创建一个对话框的应用程序,再就是我们要用一个方法去激活它可以在我们点了一个什么按钮的时候就把它显示出来,我们得在窗口类中加入一个CStatic对象,比如我们加入CStatic m_Dynamic;

7、然后的话我们在点按钮的事件处理中我们加上如下的代码段:if(!IsWindow(m_Dynamic.m_hWnd)/做这样子一个判断是为了可以使用我们在创建了这个CStatic之后不会再去创建m_Dynamic.Create(Welcom!,WS_CHILD,CRect(110,50,80,100),this,1525)/当然这里最后一个参数有默认的值可以不写m_Dynamic.ShowWindow(SW_SHOW);再就是我们如果要去设置位图的话我们要有一步很重要的要做就是ModifyStyle函数的调用比如我们用一个CStatic按钮,它的ID是IDC_STATIC2 CStatic*st

8、atic2=(CStatic*)GetDlgItem(IDC_STATIC2);static2-ModifyStyle(0,SS_BITMAP);static2-SetBitmap(LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1);/这里假定位图的资源是IDB_BITMAP2同理这里如果我们设置图标的话我们也是要去做ModifyStyle函数的,只是设置的标识是SS_ICON而如果我们要让CStatic控件响应鼠标消息的话我们就要用ModifyStyle函数加上SS_NOTIFY然后我们要做的功做就是去写它的响应函数是

9、如何的。关于MFC当中的编辑框控件这也是一个非常常用的控件:CEdit控件提供了窗口的编辑功能,窗口编辑控件是一个矩形的子窗口,用户能够在窗口编辑控件中录入文本:CEdit控件的主要方法:1,CanUndo:这个函数用来确定编辑控件是否取消操作BOOL CanUndo()const;这个函数的返回值是一个BOOL值,它表示如果最后一次操作被取消了返回值是TRUE,否则是FALSE 2,GetLineCount:这个函数用来获得多行文本控件的行数int GetLineCount()const;它的返回值是一个int值,如果这个编辑框中没有输入文本的话就会返加1,如果有输入文本的话就会返加文本的行

10、数3,GetModify:这个函数用来确定控件的内容是否被修改了,窗口保留一个内部标记,确定编辑框内容是不是被更改了当控件首次被创建或是调用了SetModify的时候就会创建这个标记BOOL GetModify()const;4,SetModify:这个函数用来设置或是清除编辑框的修改标记void SetModify(BOOL bModified=TRUE);这个函数的参数bModified表示的用来设置修改标记还是清除这个标记,如果是TRUE则是设置这么一个标记,如果为FALSE则是去清除这个标记5,GetRect:这个函数是用来获取编辑框的文本区域void GetRect(LPRECT l

11、pRect)const;lpRect用来接收返回的文本区域,这个区域随控件的大小而改变6,GetSel:这个函数是用来获得当前选中的文本的开始位置和结束位置DWORD GetSel()const;void GetSel(int&nStartChar,int&nEndChar)const;这个函数还是一个重载函数,第一个是返回一个双字节的整数,其低字节是选中文本的起始位置,高字节是选中文本的结束位置第二个函数有两个参数分别用来记录起始位置和结束位置7,SetMargins:这个函数是以像素为单位来设置控件的左右边距void SetMargins(UINT nLeft,UINT nRight);这

12、里的两个参数分别用来设置左边距和右边距8,GetMargins:这个函数则是用来获得编辑框的左右边距DWORD GetMargins()const;这个函数返回一个双字节整数值,其值的低字节是编辑框的左边距,高字节是编辑框的右边距9,SetLimitText:这个函灵敏用来以字节为单位来设置编辑框控件的文本长度void SetLimitText(UINT nMax);nMax是用于确定文本的最大长度的这个方法只是用来限制用户文本的录入,它是不会影响已存在的文本的也不会影响调用SetWindowText来设置的文本10,GetLimitText:这个函数则是用来获得可以录入的文本的长大长度11,

13、PosFromChar:这个函数用来返回指定字符的左上角的坐标CPoint PosFromChar(UINT nChar)const;这里的参数nChar是基于0基础的字符索引12,CharFromPos:这个函数根据坐标的位置来返回当前行号和字符索引int CharFromPos(CPoint pt)const;这里的参数是坐标点的值返回值中的低字节中存放的是字符索引,高字节存放的是行号13,GetLine:这个函数用来返回指定行的文本int GetLine(int nIndex,LPTSTR lpszBuffer)const;int GetLine(int nIndex,LPTSTR lp

14、szBuffer,int nMaxLength)const;这个函数也是一个重载函数,lpszBuffer是一个字符缓冲区,用来接收返回的数据nMaxLength这个参数是标识复制到缓冲区中的最大的字节数返回值是一个int值表示的是实际复制到缓冲区中的字节数14,GetPasswordChar:这个函数是用来返回密码字符,如果密码字符是不存在的则会返回NULL TCHAR GetPasswordChar()const;15,LineFromChar:这个函数是用来根据字符的索引来返回行号,字符索引从文本的第一个字符开始第一个字符的索引为0然后依次往下推int LineFromChar(int

15、nIdex=-1)const;nIndex表示的是标识字符的索引,如果是-1当前行号被返回16,LineIndex:这个函数是用来返回某一行的字符索引int LineIndex(int nLine=-1)const;nLine:标识的是行号,如果为-1则表示的是当前的行17,LineLength:这个函数是用来根据字符索引返回行的文本长度int LineLength(int nLine=-1)const;nLine:标识字符索引,如果为-1的话函数返回当前行18,SetSel:这个函数是用来设置选中的文本void SetSel(DWORD dwSelection,BOOL bNoScroll=FALSE);void SetSel(int nStartChar,int nEndChar,BOOL bNoScroll=FALSE);这也是一个重载函数,dwSelection的低字节中标识起始位置,高字节中标识结束位置,如果起始位置是0,结束位置是非曲直则表示选取中所有的文本nStatrChar,nEndChar分别表示的就是标识起始位置和开始位置bNoScroll确定插入符是否要被滚动到可视区域,如果是FALSE则滚动到可视区域,否则的旅话它不会滚动到可视区域19,SetPasswordChar:这个函数用来设置字符密码vo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号