当前位置: 首页 > news >正文

建设一个网站的好处安徽建工招采平台

建设一个网站的好处,安徽建工招采平台,广州电商聚集地,专业建站公司费用MFC控件用法 1、组合框1.1 简介1.2 创建CComboBox类的主要成员函数 1.3 实例 2、滚动条控件2.1 简介2.2 创建CScrollBar类的主要成员函数 2.3 实例 3、图片控件3.1 简介3.2 创建图片控件静态加载图片图片控件动态加载图片 1、组合框 1.1 简介 组合框其实就是把一个编辑框和一… MFC控件用法 1、组合框1.1 简介1.2 创建CComboBox类的主要成员函数 1.3 实例 2、滚动条控件2.1 简介2.2 创建CScrollBar类的主要成员函数 2.3 实例 3、图片控件3.1 简介3.2 创建图片控件静态加载图片图片控件动态加载图片 1、组合框 1.1 简介 组合框其实就是把一个编辑框和一个列表框组合到了一起分为三种简易Simple组合框、下拉式Dropdown组合框和下拉列表式Drop List组合框。 简易组合框中的列表框是一直显示的;下拉式组合框默认不显示列表框只有在点击了编辑框右侧的下拉箭头才会弹出列表框;下拉列表式组合框的编辑框是不能编辑的只能由用户在下拉列表框中选择了某项后在编辑框中显示其文本。. 常用的当属下拉式组合框和下拉列表式组合框了它们在很多时候能使程序看起来更专业更简洁让用户在进行选择操作时更方便。 组合框被操作时会向父窗口发送通知消息这些通知消息及其含义如下 通知消息含义CBN_CLOSEUP组合框的列表框组件被关闭简易组合框不会发送该通知消息CBN_DBLCLK用户在某列表项上双击鼠标只有简易组合框才会发送该通知消息CBN_DROPDOWN组合框的列表框组件下拉简易式组合框不会发送该通知消息CBN_EDITUPDATE在编辑框准备显示改变了的正文时发送该消息下拉列表式组合框不会发送该消息CBN_EDITCHANGE编辑框的内容被用户改变了与CBN_EDITUPDATE不同该消息是在编辑框显示的正文被刷新后才发出的下拉列表式组合框不会发送该消息CBN_ERRSPACE组合框无法申请足够的内存来容纳列表项CBN_SELENDCANCEL表明用户的选择应该取消当用户在列表框中选择了一项然后又在组合框控件外单击鼠标时就会导致该消息的发送CBN_SELENDOK用户选择了一项然后按了回车键或单击了下滚箭头该消息表明用户确认了自己所作的选择CBN_KILLFOCUS组合框失去了输入焦点CBN_SELCHANGE用户通过单击或移动箭头键改变了列表的选择CBN_SETFOCUS组合框获得了输入焦点 1.2 创建 MFC将组合框控件的所有操作都封装到了CComboBox类中。 创建有两种方式 往对话框模板中拖入Combo Box控件而后添加CComboBox类型的控件变量使用。在程序中动态创建使用CComboBox类的成员函数Create。Create函数的原型如下 virtual BOOL Create(DWORD dwStyle,const RECT rect,CWnd* pParentWnd,UINT nID );CComboBox类的Create成员函数同大多数控件类的Create成员函数非常类似dwStyle指定组合框控件的风格rect为列表框弹出后组合框的位置和尺寸pParentWnd是指向父窗口的指针不能为NULLnID指定组合框控件的ID。组合框控件的风格包括以下几种 控件风格含义CBS_AUTOHSCROLL使编辑框组件具有水平滚动的风格CBS_DISABLENOSCROLL使列表框在不需要滚动时显示一个禁止的垂直滚动条CBS_DROPDOWN指定一个下拉式组合框CBS_DROPDOWNLIST指定一个下拉列表式组合框CBS_HASSTRINGS指定一个含有字符串的自绘式组合框CBS_LOWERCASE将编辑框和列表框中的所有文本都自动转换为小写字符CBS_NOINTEGRALHEIGHT组合框的尺寸由应用程序而不是Windows 指定通常由Windows指定尺寸会使列表项的某些部分隐藏起来CBS_OEMCONVERT使编辑框组件中的正文可以在ANSI 字符集和OEM字符集之间相互转换。这在编辑框中包含文件名时是很有用的CBS_OWNERDRAWFIXED指定自绘式组合框即由父窗口负责绘制列表框的内容并且列表项有相同的高度CBS_OWNERDRAWVARIABLE指定自绘式组合框并且列表项有不同的高度CBS_SIIMPLE指定一个简易组合框CBS_SORT自动对列表框组件中的项进行排序CBS_UPPERCASE将编辑框和列表框中的所有文本都自动转换为大写字符 dwStyle参数可以是以上风格的组合。跟其他控件一样创建时一般也还要指定WS_CHILD、WS_VISIBLE、WS_TABSTOP和WS_VSCROLL等风格。 CComboBox类的主要成员函数 因为组合框是由编辑框和列表框组合而成的所以组合框的操作和编辑框与列表框的操作有很多相似之处同样的CComboBox类的成员函数也和CEdit类与CListBox类的成员函数有很多相似之处不但功能相似甚至函数名和参数也很相似。 int GetCount( ) const; 获取组合框控件的列表框中列表项的数量。int GetCurSel( ) const; 获取组合框控件的列表框中选中项的索引如果没有选中任何项该函数返回CB_ERR。int SetCurSel(int nSelect); 在组合框控件的列表框中选择某项。nSelect参数指定了要选择的列表项的索引如果为-1则列表框中当前选择项被取消选中编辑框也被清空。DWORD GetEditSel( ) const; 获取组合框控件的编辑框中当前选择范围的起始和终止字符的位置。该函数返回一个32位数低16位存放起始位置高16位存放选择范围后第一个非选择字符的位置。如果该函数用于下拉列表式组合框时会返回CB_ERR。BOOL SetEditSel(int nStartChar,int nEndChar); 用于在组合框控件的编辑框中选择字符。nStartChar参数指定起始位置nEndChar参数指定终止位置。DWORD_PTR GetItemData(int nIndex) const; 获取组合框中指定项所关联的32位数据。nIndex参数指定组合框控件的列表框某项的索引从0开始。int SetItemData(int nIndex,DWORD_PTR dwItemData); 为某个指定的组合框列表项设置一个关联的32位数。nIndex参数指定要进行设置的列表项索引。dwItemData参数指定要关联的新值。void GetLBText(int nIndex,CString rString) const; 从组合框控件的列表框中获取某项的字符串。nIndex参数指定要获取字符串的列表项的索引CString参数用于接收取到的字符串。int GetLBTextLen(int nIndex) const; 获取组合框控件的列表框中某项的字符串长度。nIndex参数指定要获取字符串长度的列表项的索引。int GetTopIndex( ) const; 获取组合框控件的列表框中第一个可见项的索引。int SetTopIndex(int nIndex); 将组合框控件的列表框中某个指定项设置为可见的。nIndex参数指定了该列表项的索引。该函数成功则返回0有错误发生则返回CB_ERR。BOOL LimitText(int nMaxChars); 用于限制用户在组合框控件的编辑框中能够输入的最大字节长度。nMaxChars参数指定了用户能够输入文字的最大字节长度如果为0则长度被限制为65535个字节。int AddString(LPCTSTR lpszString); 为组合框控件中的列表框添加新的列表项。lpszString参数是指向要添加的字符串的指针。该函数的返回值如果大于等于0那么它就是新列表项的索引而如果有错误发生则会返回CB_ERR如果没有足够的内存存放新字符串则返回CB_ERRSPACE。int DeleteString(UINT nIndex); 删除组合框中某指定位置的列表项。nIndex参数指定了要删除的列表项的索引。该函数的返回值如果大于等于0那么它就是组合框中剩余列表项的数量。如果nIndex指定的索引超出了列表项的数量则返回CB_ERR。int FindString(int nStartAfter,LPCTSTR lpszString) const; 在组合框控件的列表框中查找但不选中第一个包含指定前缀的列表项。nStartAfter参数指定了第一个要查找的列表项之前的那个列表项的索引。lpszString指向包含要查找的前缀的字符串。该函数的返回值如果大于等于0那么它是匹配列表项的索引如果查找失败则返回CB_ERR。int InsertString(int nIndex,LPCTSTR lpszString); 向组合框控件的列表框中插入一个列表项。nIndex参数指定了要插入列表项的位置lpszString参数则指定了要插入的字符串。该函数返回字符串被插入的位置如果有错误发生则会返回CB_ERR如果没有足够的内存存放新字符串则返回CB_ERRSPACE。int SelectString(int nStartAfter,LPCTSTR lpszString); 在组合框控件的列表框中查找一个字符串如果查找到则选中它并将其显示到编辑框中。参数同FindString。如果字符串被查找到则返回此列表项的索引如果查找失败则返回CB_ERR并且当前选择项不改变。 1.3 实例 步骤 创建控件创建控件变量在OnInitDialog函数中进行控件的初始化 m_comFood.AddString(_T(蔬菜));m_comFood.AddString(_T(水果));m_comFood.InsertString(1,_T(肉类));m_comFood.SetCurSel(0);在对话框类的成员函数中对控件相关的消息相应进行处理。生成组合框控件的相关消息相应函数。针对CBN_SELCHANGE通知消息生成消息相应函数在函数体中操作 CString strFood;int nSel;nSel m_comFood.GetCurSel();m_comFood.GetLBText(nSel, strFood);SetDlgItemText(IDC_EDT_COM, strFood);2、滚动条控件 2.1 简介 滚动条分为水平滚动条Horizontal Scroll Bar和垂直滚动条Vertical Scroll Bar两种。滚动条中有一个滚动块用于标识滚动条当前滚动的位置。我们可以拖动滚动块也可以用鼠标点击滚动条某一位置使滚动块移动。 从滚动条的创建形式来分有标准滚动条和滚动条控件两种。像列表框和组合框设置了WS_HSCROLL 或WS_VSCROLL风格以后出现的滚动条不是一个独立的窗口而是这些窗口的一部分这就是标准滚动条。而滚动条控件是一个独立的窗口它可以获得焦点响应某些操作。 2.2 创建 MFC也为滚动条控件的操作提供了类即为CScrollBar类。 创建有两种方式 一种是直接在Toolbox中将滚动条控件拖入对话框模板然后添加控件变量使用。用CScrollBar类的Create成员函数动态创建。 CScrollBar类的成员函数Create的函数原型如下 virtual BOOL Create(DWORD dwStyle,const RECT rect,CWnd* pParentWnd,UINT nID );此函数与其他控件类的Create函数原型基本相同。参数dwStyle指定滚动条控件的风格rect指定滚动条控件的位置和尺寸pParentWnd为指向滚动条控件父窗口的指针nID指定滚动条控件的ID。 控件风格含义SBS_HORZ指定滚动条为水平滚动条。如果没有指定SBS_BOTTOMALIGN或SBS_TOPALIGN风格则滚动条的高度、宽度和位置由Create函数的rect参数给出。SBS_VERT指定滚动条为垂直滚动条。如果没有指定SBS_RIGHTALIGN或SBS_LEFTALIGN风格则滚动条的高度、宽度和位置由Create函数的rect参数给出。SBS_TOPALIGN与SBS_HORZ配合使用。滚动条的上边缘与Create函数的rect参数指定矩形的上边缘对齐。滚动条高度为系统滚动条的默认高度。SBS_BOTTOMALIGN与SBS_HORZ配合使用。滚动条的下边缘与Create函数的rect参数指定矩形的下边缘对齐。滚动条高度为系统滚动条的默认高度。SBS_LEFTALIGN与SBS_VERT配合使用。滚动条的左边缘与Create函数的rect参数指定矩形的左边缘对齐。滚动条宽度为系统滚动条的默认宽度。SBS_RIGHTALIGN与SBS_VERT配合使用。滚动条的右边缘与Create函数的rect参数指定矩形的右边缘对齐。滚动条宽度为系统滚动条的默认宽度。 CScrollBar类的主要成员函数 BOOL GetScrollInfo(LPSCROLLINFO lpScrollInfo, UINT nMask SIF_ALL); 获取的滚动条的参数信息该信息为SCROLLINFO结构体的形式。参数lpScrollInfo为指向SCROLLINFO结构体变量的指针。 参数nMask 的含义与SCROLLINFO 结构体中的fMask一样。该函数在获取信息成功则返回TRUE否则返回FALSE。SCROLLINFO结构体的定义如下 typedef struct tagSCROLLINFO { UINT cbSize; // 结构的尺寸字节为单位 UINT fMask; // 说明结构中的哪些参数是有效的可以是屏蔽值的组合,如SIF_POS|SIF_PAGE若为SIF_ALL则整个结构都有效 int nMin; // 滚动范围最小值当fMask 中包含SIF_RANGE 时有效 int nMax; // 滚动范围最大值当fMask 中包含SIF_RANGE 时有效 UINT nPage; // 页尺寸用来确定比例滚动框的大小当fMask中包含SIF_PAGE时有效 int nPos; // 滚动框的位置当fMask 中包含SIF_POS 有效 int nTrackPos; // 滚动时滚动框的位置当fMask 中包含SIF_TRACKPOS 时有效该参数只能查询不能设置最好不要用该参数来查询拖动时滚动框的位置 } SCROLLINFO, *LPSCROLLINFO; typedef SCROLLINFO CONST *LPCSCROLLINFO;BOOL SetScrollInfo(LPSCROLLINFO lpScrollInfo, BOOL bRedraw TRUE); 用于设置滚动条的各种参数信息。参数lpScrollInfo为指向SCROLLINFO结构体变量的指针参数bRedraw表示是否需要重绘滚动条如果为TRUE则重绘。该函数操作成功则返回TRUE否则返回FALSE。int GetScrollPos( ) const; 获取滚动块的当前位置。如果失败则返回0。int SetScrollPos(int nPos, BOOL bRedraw TRUE); 将滚动块移动到指定位置。参数nPos指定了滚动块的新位置参数bRedraw 表示是否需要重绘滚动条如果为TRUE则重绘。函数返回滚动框原来的位置若操作失败则返回0。void GetScrollRange(LPINT lpMinPos, LPINT lpMaxPos) const; 获取滚动条的滚动范围。参数lpMinPos指向滚动条滚动范围的最小值参数lpMaxPos指向滚动条滚动范围的最大值。void SetScrollRange(int nMinPos, int nMaxPos, BOOL bRedraw TRUE); 用于指定滚动条的滚动范围。参数nMinPos 和nMaxPos 分别指定了滚动范围的最小值和最大值两者的差不得超过32767。当两者都为0 时滚动条将被隐藏。参数bRedraw 表示是否需要重绘滚动条如果为TRUE则重绘。OnHScroll()与OnVScroll()函数 无论是标准滚动条还是滚动条控件滚动条的通知消息都是用WM_HSCROLL 和WM_VSCROLL消息发送出去的。对这两个消息的默认处理函数是CWnd::OnHScroll和CWnd::OnVScroll一般需要在派生类中对这两个函数进行重载以实现滚动功能。也就是说假设在一个对话框中放入了一个水平滚动条我们可以在对话框类中重载OnHScroll函数并在OnHScroll函数中实现滚动功能。 afx_msg void OnHScroll(UINT nSBCode,UINT nPos,CScrollBar* pScrollBar); afx_msg void OnVScroll(UINT nSBCode,UINT nPos,CScrollBar* pScrollBar);参数nSBCode是通知消息码主要通知码及含义的介绍下面已列出。nPos 是滚动框的位置只有在nSBCode为SB_THUMBPOSITION或SB_THUMBTRACK时该参数才有意义。如果通知消息是滚动条控件发来的那么pScrollBar 是指向该控件的指针如果是标准滚动条发来的则pScrollBar 为NULL。 通知消息码含义SB_BOTTOM/SB_RIGHT滚动到底端右端SB_TOP/SB_LEFT滚动到顶端左端SB_LINEDOWN/SB_LINERIGHT向下向右滚动一行列SB_LINEUP/SB_LINELEFT向上向左滚动一行列SB_PAGEDOWN/SB_PAGERIGHT向下向右滚动一页SB_PAGEUP/SB_PAGELEFT向上向左滚动一页SB_THUMBPOSITION滚动到指定位置SB_THUMBTRACK滚动框被拖动。可利用该消息来跟踪对滚动框的拖动SB_ENDSCROLL滚动结束 2.3 实例 步骤 创建控件创建控件变量在OnInitDialog函数中进行控件的初始化 m_scrHBar.SetScrollRange(1,100);m_scrHBar.SetScrollPos(20);SetDlgItemInt(IDC_EDT_SCR, 20);重载OnHScroll函数。具体操作为属性页面的工具栏上点“Messages”按钮找到WM_HSCROLL消息添加响应函数就可以。 int pos m_scrHBar.GetScrollPos(); // 获取水平滚动条当前位置 switch (nSBCode){// 如果向左滚动一列则pos减1 case SB_LINELEFT:pos - 1;break;// 如果向右滚动一列则pos加1 case SB_LINERIGHT:pos 1;break;// 如果向左滚动一页则pos减10 case SB_PAGELEFT:pos - 10;break;// 如果向右滚动一页则pos加10 case SB_PAGERIGHT:pos 10;break;// 如果滚动到最左端则pos为1 case SB_LEFT:pos 1;break;// 如果滚动到最右端则pos为100 case SB_RIGHT:pos 100;break;// 如果拖动滚动块滚动到指定位置则pos赋值为nPos的值 case SB_THUMBPOSITION:pos nPos;break;// 下面的m_horiScrollbar.SetScrollPos(pos);执行时会第二次进入此函数最终确定滚动块位置并且会直接到default分支所以在此处设置编辑框中显示数值 default:SetDlgItemInt(IDC_EDT_SCR, pos);3、图片控件 3.1 简介 图片控件和前面讲到的静态文本框都是静态文本控件因此两者的使用方法有很多相同之处所属类都是CStatic类。 3.2 创建 图片控件静态和动态加载位图图片。 图片控件静态加载图片 常见图片控件导入图片资源放置在资源文件夹中在图片控件属性中选择类型为bitmap然后导入相关的位图文件即可。图片控件的类型有 Frame显示一个无填充的矩形框边框颜色可以通过Color属性的下拉列表设定 Etched Horz显示一条横分割线 Etched Vert显示一条竖分割线 Rectangle显示一个填充的矩形框矩形颜色可通过Color属性的下拉列表设定 Icon显示一个图标Icon图标通过Image 下拉列表来设置图标资源ID Bitmap显示一个位图Bitmap位图通过Image 下拉列表来设置位图资源ID Enhanced Metafile显示一个加强的元数据文件Metafile Owner Draw自绘 图片控件动态加载图片 将图片控件的ID进行修改为IDC_STA_PIC并添加图片控件变量加载位图资源并设置ID号函数操作添加图片位图资源 CBitmap bitmap; // CBitmap对象用于加载位图 HBITMAP hBmp; // 保存CBitmap加载的位图的句柄 bitmap.LoadBitmap(IDB_BMP_TEST); // 将位图IDB_BITMAP1加载到bitmap hBmp (HBITMAP)bitmap.GetSafeHandle(); // 获取bitmap加载位图的句柄 m_staPic.SetBitmap(hBmp); // 设置图片控件m_jzmPicture的位图图片为IDB_BITMAP1
http://www.w-s-a.com/news/531659/

相关文章:

  • wordpress+仿站步骤超详细wordpress常用函数
  • 浙江手机版建站系统哪个好怎样黑进别人的网站
  • 企业网站搜索引擎推广方法装修网络公司
  • 网站运营优化建议wordpress 添加媒体
  • 用asp.net做网站计数器施工企业会计的内涵
  • 网站被黑咋样的网站建设 设计业务范围
  • 网站开发学哪种语言网站编辑器失效
  • WordPress插件提示信息江阴网站优化
  • 网站开发用的软件如何做网站内容管理
  • 扬州网站建设公司网站推广是什么岗位
  • 双线网站管理咨询公司是做什么
  • asia域名的网站贵州光利达建设工程有限公司局网站
  • 梅州南站济南做网络安全的公司
  • 网站源代码 phpseo营销推广费用
  • 南京专业制作网站深圳整装装修公司排名
  • 网站制作在哪里比较好网页设计的要点有哪些
  • 自己做网站原始代码高端品牌服装
  • 九度企业网站推广软件龙泉市建设局网站
  • 做个企业网网站怎么做专业3合1网站建设公司
  • 龙岩网站建设teams熊掌号公司网站的实例
  • 电商模板网站免费省级精品课程网站建设
  • 网站建设的规划书桂林生活最新网
  • 广东省建设工程执业中心网站wordpress的分类目录和标签
  • 甘肃省两学一做专题网站广东外发加工网
  • 用python导入wordpress公司网络优化方案
  • 效益成本原则网站建设wordpress 上传rar
  • 大连网站制作 连城传媒渠道网络公司官网
  • 电影天堂网站用什么程序做的wordpress 添加链接地址
  • 购买空间网站哪个好重庆英文网站建设
  • 建设网站需要注意什么问题设计网页通常使用什么语言