用户界面设计1.doc

上传人:本田雅阁 文档编号:2786238 上传时间:2019-05-16 格式:DOC 页数:11 大小:46.28KB
返回 下载 相关 举报
用户界面设计1.doc_第1页
第1页 / 共11页
用户界面设计1.doc_第2页
第2页 / 共11页
用户界面设计1.doc_第3页
第3页 / 共11页
用户界面设计1.doc_第4页
第4页 / 共11页
用户界面设计1.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《用户界面设计1.doc》由会员分享,可在线阅读,更多相关《用户界面设计1.doc(11页珍藏版)》请在三一文库上搜索。

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=

16、FALSE);void SetSel(int nStartChar,int nEndChar,BOOL bNoScroll=FALSE);这也是一个重载函数,dwSelection的低字节中标识起始位置,高字节中标识结束位置,如果起始位置是0,结束位置是非曲直则表示选取中所有的文本nStatrChar,nEndChar分别表示的就是标识起始位置和开始位置bNoScroll确定插入符是否要被滚动到可视区域,如果是FALSE则滚动到可视区域,否则的旅话它不会滚动到可视区域19,SetPasswordChar:这个函数用来设置字符密码void SetPasswordChar(TCHAR ch);ch

17、:标识密码字符如果是0实际字符被显示20,Clear:这个方法用来删除当前选中的文本void Clear();接下来我们看一下CButton按钮控件:CButton提供了Windows按钮控件的基本功能。按钮控件是一个小的矩形子窗口。典型的按钮控件有复选框、单选按钮、下压按钮这些控件可以通过修改CButton风格来实现CButton控件的主要方法是如下的:1,GetState:这个函数用来返回按钮的当前状态UINT GetState()const;它的返回值是UINT值,是按钮的状态:BST_CHECKED:控钮被选中BST_UNCHECKED:按钮没有被选中BST_FOCUS:按钮获得焦点B

18、ST_INDETERMINATE:按钮处于灰色状态BST_PUSHED:按钮处于高亮状态2,SetState:这个函数用来设置按钮的状态void SetState(BOOL bHightlight);这里的参数bHighlight标识按钮是否高亮显示3,GetCheck:这个函数用来获得单选按钮或复选框的选中状态int GetCheck()const;这里返回值是一个int值,0表示按钮没有被选取中,1表示按钮被选中,2表示按钮状态不确定4,SetCheck:这个函数用来设置单选按钮或复选框的状态void SetCheck(int nCheck);nCheck:如果是0,表示不选中按钮,如果是

19、1则表示选中按钮,如果是2则表示不确定按钮状态5,GetButtonStyle:这个函数用于返回按钮风格UINT GetButtonSytle()const;这里的返回值是按钮的风格而不是窗口风格6,SetIcon这个函数是用来关联一个图标到按钮控件上面,图标会自动地绘制到控件上HICON SetIcon(HICON hIcon);hIcon一个图标的句柄这里的返回值还是一个图标句柄,如果之前调用了SetIcon则会返回先前关联的图标,如果先前没有关联图标的话函数的返回值是NULL 7,GetIcon:这个函数是获取当前控件关联的图标句柄,如果没有关联图的话函数的返回值是NULL HICON

20、GetIcon()const;8,GetBitmap:这个函数用来将一个位图关联到按钮控件当中。位图自动地被绘制在控件中,如果位图过大的话它就会被剪裁。HBITMAP SetBitmap(HBITMAP hBitmap);hBitmap是位图的句柄它的返回值也是一个位图的句柄,如果之前调用了SetBitmap关联了位图句柄的话它就会返回这个已关联的位图句柄否则的话会返回NULL 9,GetBitmap:这个函数用来返回当前控件关联的位图句柄如果控件没有关联位图则返回NULL HBITMAP GetBitmap()const;10,GetCursor:这个函数是用来获得控件当前关联的鼠标句柄如果

21、控件没有关联这样的句柄的话它就会返回0 HCURSOR GetCursor();11,SetCursor:这个函数是用来设置关联控制件的鼠标指针形状HCURSOR SetCursor(HCURSOR hCursor);这个函数的返回值和参数都是鼠标指针句柄,它返回的是先前已婚关联的鼠标指针若先前没有关联的话就会返回0,参数则是表示当前要关联的鼠标指针形状12,BN_CLICKED消息,这个消息是在用户单击了控钮的时候发生的,控钮的父窗口通过WM_COMMAND消息接收该通知消息13,BN_DBLCLK消息,这个就是在双击的时候发生的按钮的父子控口通过WM_COMMAND消息来接收这个通知消息,

22、这里有一点要注意的就是只有BS_OWNERDRAW风格的按钮才会触发BN_DBCLCLK注意:我们如果加上按铵的光标的时候我们做的工作是在单击的时候触发但是它却是当焦点在这个按钮上的时候按回车键才会显示这样子的光标下面我们来看一下列表框控件:CListBox CListBox封装了Windows列表框的基本功能CListBox控件的主要方法如下:1,GetCount:这个函数用于获得列表框中的项目数int GetCount()const;2,GetSel:这个函数是用来获得项目的选中状态int GetSel(int nIndex)const;nIndex这个参数表示的是项目的索引它的返回值表示

23、状态如果这个返回值大于0则表示项目是被选中的,如果等于0的话表示项目是没有选中的3,GetText:这个函数从列表框中获得一个字符串int GetText(int nIndex,LPTSTR lpszBuffer)const;void GetText(int nIndex,CString&rString)const;这里的参数nIndex表示的是项目的索引lpszBuffer表示的是一个字符的缓冲区,注意这个缓冲区必须有足够的空间来接收字符串rString:用于接收返回的字符串有一个重载函数有int类型的返回值,它表示的是实际返回的字符串的长度4,GetTextLen:这个函数是用来返回列表框

24、中某一项的长度int GetTextLen(int nIndex)const;参数nIndex表示的是字符串的索引5,SetColumnWidth:它表示的设置列的宽度void SetColumnWidth(int cxWidth);参数cxWidth表示的是以像素为单位的标识列宽度6,GetCurSel:这个函数是用来获得当前选项的索引,索引是基于0开始的int GetCurSel()const;7,SetCurSel:表示的是用于设置当前选中的选项int SetCurSel(int nSelect);参数nSelect表示的是标识选中的项,如果这个参数是-1的话它会清除所有被选中的项8,G

25、etSelCount:这个方法是用来获得列表框中当前选中的选项数int GetSelCount()const;9,AddString:这个函数是用来向列表框中加入字符串int AddString(LPCTSTR lpszString);参数lpszString表示的是字符串指针如果这个列表框不包含CBS_SORT风格的话字符串会直接插入到列表框的尾部,否则的话列表框会进行排序10,DeleteString:这个函数用来从列表框中删除一个字符串int DeleteString(UINT nIndex);参数nIdex表示的是列表框中项目的索引这个函数的返回值是列表框中字符串的数量11,Inser

26、tString:这个表示用于在列表框指定的位置插入一个字符串int InsertString(int nIndex,LPCTSTR lpszString);nIndex表示的是插入字符串的位置,如果这里指定-1的话字符串会插入到列表框的尾部lpszString标识的是一个字符串的指针返回的值是一个int类型的整数它表示的是字符串的位置12,ResetContent:这个函数表示的是删除列表框中的所有字符串void ResetContent();Dir:这个函数是用来添加盘符或文件到列表框当中int Dir(UINT attr,LPCTSTR lpszWildCard);attr参数是用来标识列

27、举属性可以是如下的组合:DDL_READWRITE:文件可以被读或是写DDL_READONLY:文件是只读的DDL_HIDDED:文件被隐没有出现在文件目录中DDL_SYSTEM:系统文件DDL_DIRECTORY:有这个属性的话那么参数lpszWildCard标识一个目录DDL_ARCHIVE:这个表明了文件被存档DDL_DRIVERS:表明包含所有的驱动器DDL_EXCLUSIVE:这是一个排它标识,只有所标记的文件类型被列举lpszWildCard参数是一个文件标识符指针,字符串中可以包含通配符,这个函数的返回值是被添加到列表中的最后一个文件的索引14,FindString:这个函数表明

28、在列表框中查找包含指定前缀的第一个字符串int FindString(int nStartAfter,LPCTSTR lpszString)const;nStatrAfter参数表示的是从哪一项开始搜索字符串,当函数查找到列表框的底部时,还将从第一项开始查找直到nStartAfter处,如果这个参数为-1将从第一项开始查找整个列表框lpszString标识的是查找的字符串,返回值是字符串的索引15,FindStringExact:这个函数是用来在列表框中精确地查找指定的字符串int FindStringExact(int nStartAfter,LPCTSTR lpszFind)const;n

29、StatrAfter参数表示的是从哪一项开始搜索字符串,当函数查找到列表框的底部时,还将从第一项开始查找直到nStartAfter处,如果这个参数为-1将从第一项开始查找整个列表框lpszFind标识了要查找的字符串返回值是找到的字符串索引16,SelectString:这个函数是用来在列表框中查找指定的字符串,如果找到字符串将选取中该字符串,并把它复制到编辑框当中int SelectString(int nStatrtAfter,LPCTSTR lpszString);nStartAfter:这个参数标识了从哪一项开始搜索字符串,当函数查找指定的字符串,如果找到列表框的底部的话还会从第一项开

30、始查找直到nStartAfter处,如果nStartAfter为-1的话它将从第一项开始查找整个列表框。lpszString:标识查的字符串返回值是找到的字符串的索引列表框还有一些消息:LBN_SELCHANGE消息,这个是当列表中的选项被改变的时候就会触发这个消息LBN_DBLCLK消息,当用户双击列表框中的字符串的时候触以这个消息LBN_ERRSPACE消息,当列表框不能分配足够空间时触发这个消息LBN_KILLFOCUS消息,当列表框失去焦点的时候触以这个消息LBN_SELCANCEL消息,当用户取消列表框中选中的选项的时候触发这个消息LBN_SETFOCUS消息,当列表框获得这个焦点时触以这个消息。特别声明:1:资料来源于互联网,版权归属原作者2:资料内容属于网络意见,与本账号立场无关3:如有侵权,请告知,立即删除。124413124857

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1