常用控件:图片控件Picture Control
VB常用控件的事件详解

当窗体变为活动窗体时发生此事件,此事件比Load事件发生得晚,事件处理过程原形
Private Sub Form_Activate()
End Sub
此事件常用于激活窗体后对窗体进行初始化,比Load事件功能强。
Click
(单击)
当用户单击窗体时发生此事件,事件处理过程原形
Private Sub Form_Click()
Shift 转换键,意义如下:
0 没有转换键按下
1 Shift键按下
2 Ctrl键按下
3 Alt键按下
当多个转换键同时按下时,应把几个键对应的数值相加
KeyPress
(敲击键)
当窗体上没有能获得焦点的控件(如文本框控件)时,用户敲击键盘上某个键时发生此事件,事件处理过程原形
Private Sub Form_KeyPress(KeyAscii As Integer)
End Sub
形参的意义:
KeyAscii 按键Ascii码
若改变KeyAscii参数,相当于按下了不同的键,若置此参数为0,则取消按键。
KeyUp
(释放键)
当窗体上没有能获得焦点的控件(如文本框控件)时,用户按下键盘上某个键后释放时发生此事件,事件处理过程原形
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
End Sub
KeyDown
(按下键)
当窗体上没有能获得焦点的控件(如文本框控件)时,用户按下键盘上某个键时发生此事件,事件处理过程原形
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
vb的控件分类

vb的控件分类VB的控件分类在VB(Visual Basic)开发中,控件(Control)是开发者用来构建用户界面的基本元素。
掌握不同种类的控件对于开发者来说非常重要,因为它们可以满足不同的用户需求,使应用程序更加灵活和易于使用。
本文将对VB中的控件进行分类,并对其特点和用法进行介绍。
一、基本控件1. Label(标签):用于显示文本或图像,常用于标识其他控件或提供说明信息。
2. TextBox(文本框):用于接收用户输入的文本,可以用于输入、编辑和显示文本。
3. Button(按钮):用于触发特定的操作,比如提交表单、执行计算等。
4. ComboBox(组合框):结合了文本框和下拉列表框的功能,用户可以输入文本或从下拉列表中选择。
5. ListBox(列表框):用于显示多个选项,用户可以通过选择列表中的项来进行操作。
二、容器控件1. Panel(面板):用于容纳其他控件,可以对其中的控件进行布局和管理。
2. GroupBox(分组框):用于将相关的控件分组,提高用户界面的可读性和易用性。
3. TabControl(选项卡控件):可以在多个选项卡页面间切换,用于组织和管理复杂的界面。
三、数据输入与显示控件1. CheckBox(复选框):用于表示二选一的选择状态,可以单独选择或多选。
2. RadioButton(单选按钮):用于表示互斥的选项,用户只能选择其中一个。
3. DateTimePicker(日期时间选择器):用于选择日期和时间,提供了方便的日期和时间输入方式。
4. ProgressBar(进度条):用于显示任务的进度,可以直观地展示操作的完成情况。
5. PictureBox(图片框):用于显示图片,可以加载本地或网络上的图片文件。
四、数据输出控件1. DataGridView(数据网格视图):用于显示和编辑数据表,提供了丰富的数据展示和操作功能。
2. ListView(列表视图):用于显示数据项的列表,可以以不同的视图模式展示(如图标、列表、详细信息等)。
mfc中picture control使用

mfc中picture control使用在MFC中,Picture Control是一个用于显示图片的用户界面控件。
它通常用于在应用程序中展示图像内容。
以下是使用MFC中的Picture Control控件的步骤:1、添加Picture Control控件:在Visual Studio的设计视图中,打开你的对话框资源。
在工具箱中,找到Picture Control 控件并将其拖动到对话框上。
2、关联Picture Control控件与变量:选中Picture Control控件,在属性窗口中找到IDC_STATIC对应的ID,然后将其改为一个唯一的ID,比如IDC_PICTURE。
同时,在Class View中为该控件添加一个对应的变量,类型选择为CStatic。
3、加载并显示图片:在代码中找到对应的消息处理函数(例如OnInitDialog),然后使用以下代码加载并显示图片:cpp// 加载图片资源HRSRC hResource = FindResource(AfxGetResourceHandle(),MAKEINTRESOURCE(IDB_PICTURE), RT_RC);HGLOBAL hGlobal = LoadResource(AfxGetResourceHandle(), hResource);// 获取图片数据的指针LPCTSTR lpData = (LPCTSTR)LockResource(hGlobal);// 计算图片大小DWORD dwSize = SizeofResource(AfxGetResourceHandle(), hResource);// 创建位图对象CBitmap bitmap;bitmap.CreateFromBase(lpData, dwSize, NULL, LR_CREATEDIBSECTION);// 获取Picture Control控件的句柄HWND hWndPicture = GetDlgItem(IDC_PICTURE);// 创建兼容的DC(设备上下文)对象CDC compatibleDC;compatibleDC.CreateCompatibleDC(&compatibleDC);// 创建位图对象兼容的位图CBitmap* pOldBitmap = compatibleDC.SelectObject(&bitmap);// 将位图绘制到Picture Control控件上BitBlt(hWndPicture, 0, 0, bitmap.GetWidth(), bitmap.GetHeight(), &compatibleDC, 0, 0, SRCCOPY);// 释放资源compatibleDC.SelectObject(pOldBitmap);FreeResource(hGlobal);上述代码假设你的图片资源已经添加到资源文件中,并且资源的ID为IDB_PICTURE。
VS2010之MFC入门到精通教程(1-55全部)

VS2010/MFC编程入门教程之目录第一部分:VS2010/MFC开发环境VS2010/MFC编程入门之前言VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)第二部分:VS2010-MFC应用程序框架VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)VS2010/MFC编程入门之四(MFC应用程序框架分析)VS2010/MFC编程入门之五(MFC消息映射机制概述)第三部分:对话框VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)VS2010/MFC编程入门之七(对话框:为对话框添加控件)VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)VS2010/MFC编程入门之十(对话框:设置对话框控件的Tab顺序)VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)VS2010/MFC编程入门之十二(对话框:非模态对话框的创建及显示)VS2010/MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示)VS2010/MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)VS2010/MFC编程入门之十六(对话框:消息对话框)VS2010/MFC编程入门之十七(对话框:文件对话框)VS2010/MFC编程入门之十八(对话框:字体对话框)VS2010/MFC编程入门之十九(对话框:颜色对话框)第四部分:常用控件VS2010/MFC编程入门之二十(常用控件:静态文本框)VS2010/MFC编程入门之二十一(常用控件:编辑框Edit Control)VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)VS2010/MFC编程入门之二十八(常用控件:列表视图控件List Control 上)VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上)VS2010/MFC编程入门之三十一(常用控件:树形控件Tree Control 下)VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上)VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)第五部分:菜单、工具栏与状态栏VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)VS2010/MFC编程入门之三十五(菜单:菜单及CMenu类的使用)VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用)VS2010/MFC编程入门之三十八(状态栏的使用详解)第六部分:文档、视图和框架VS2010/MFC编程入门之三十九(文档、视图和框架:概述)VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)第七部分:MFC常用类VS2010/MFC编程入门之四十二(MFC常用类:CString类)VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类)VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)第八部分:字体和文本输出VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)VS2010/MFC编程入门之四十八(字体和文本输出:文本输出)第九部分:图形图像VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)第十部分:Ribbon界面开发VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)VS2010/MFC编程入门之前言鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。
VS2010利用MFC的Picture控件显示和处理图像

利用 MFC 的 Picture 控件显示和处理图像在《OpenCV 教程-基础篇》的 2.8 节中,所创建的 MFC 图像显示是直接放在对话框面板的左上 角的,感觉不大美观;《MFC 中快速应用 OpenCV》 则是介绍用 SDI(单文档界面)来显示图 像,《A step-by-step guide to the use of Microsoft Visual C++ and the Intel OpenCV library》 使用 VS2005 来进行图像和视频的读取和处理,但是其图像和视频的显示界面不是在对话框里面 的,而是新建一个窗口来做。
所以下面我们就来看看怎么在对话框里使用 Picture 控件来显示和 处理图像。
[编辑]创建 MFC首先创建一个 MFC 对话框应用程序(Dialog-based Application)如下:在 VS2005 和 2008 里,我们可以用一个 Solution 来组合几个 Project (每个 Project 基本上 只包含一个 Program),当我们要构建一个多 Program 的应用时(例如一个客户端程序加一个 服务器应用程序),利用 Solution 可以将这些 Projects 组合起来、并且共享文件和函数库。
通常需要为 Solution 创建一个主路径,其中包含了所有 Projects 的路径。
不过在这篇文章里, 我们只构建一个简单的 Project,所以在创建 MFC 的 New Project 对话框里,不用勾选“Create directory for solution”这个选项。
点击 OK -- Next 进入下一步,在这里我们创建一个 Dialog-based Application,大部分选项按默 认设置就行,不过最下面的“Use Unicode libraries”最好去掉。
如果勾选了这个选项,程序代码 就会使用 16bit 的 Unicode 字符集来编码,但是很多函数虽然使用 char* (ASCII stings) 类型字 符,而将字符串从 Unicode 转换到 ASCII 是非常麻烦的。
使用PictureControl显示BMP图片

//////////////////////////////////////////////////////////////////////
查看文章
VC动态加载bmp位图资源2010-10-31 14:56SDK和MFC插入资源时,都要求是BMP格式的位图资源。但位图资源不是显示动态图片。好了不废话。下面介绍两种VC动态加载bmp位图资源:
VC++6.0编译通过
本文来源:eagle200901
//设置静态控件的样式,使其可以使用位图,并试位标显示使居中
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
//设置静态控件显示位图
pStatic->SetBitmap(hBitmap);
}
然后就可以编译运行了。
动态加载位图
HBITMAP hBitmap=::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
//从工程资源处获得IDB_BITMAP1的位图句柄,并将其赋值给hBitmap变量
this->m_Image.SetBitmap(hBitmap); // 将bmp文件显示到静态文本框中
}
3.最重要的一点是插入的picture控件的TYPE要选中“BitMap”,而不是Frame,否则将出现编译通过,而位图无法显示的情况!
在解决静态和动态加载图片的过程中我更加体会到做事情多思考,多动手,多像GOOGLE请教的道理。以前我总是照着书上的例子敲代码,结果发现真正要做出一个东西的时候,却一行代码都写不出来。那时候才后悔当初练习的时候为什么不看懂才敲。俺要做的是程序员不是打字员。虽然我们必须从书本上的范例开始学习,但是在每学完一个例子以后我们应该把从中学到的东西结合自己以前学的东西来做出一个属于自己的东西来,这样我们才真正进步了哦!
MFC各种控件属性介绍

MFC各种控件属性介绍VC++6.0控件工具箱:2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)3 静态文本(Static Text):用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。
显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,也可以通过调用相应的函数来进行设置。
MFC提供了CStatic类支持静态控件。
4 编辑框(Edit Box):用来接收用户输入的字符串。
通过选择编辑框的选项,编辑框可以接收字符串、数字、密码等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。
编辑框可能向其父窗口发送多种控件通知,如果用户需要,可以对这些控件通知进行处理。
MFC提供了CEdit类支持编辑框控件。
5 组成框(Group Box):用来包围具有逻辑关系的一组控件,在这些控件的周围加上边界和标题。
需注意的是,组成框仅仅是在视觉效果上对控件进行“成组”,真正的“成组”工作还需要另外一些工作。
6 按钮(Button):用来接收用户的命令,应用程序在接收到用户命令后,通常需要进行一些后台工作。
按钮可以响应单击或双击动作,在按钮接收到鼠标动作后,向其父窗口发送相应的控件通知,用户可以对这些控件通知进行消息映射,从而进行相应的处理。
在一个对话框中,可以定义一个默认按钮,这只要选中按钮属性中的“Default”选项。
如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。
MFC提供了CButton类支持按钮控件。
7 复选框(Check Box):用来显示某种可能的选择,该项选择是独立的,用户可以选中或取消该选项。
在选项被选中的时候核选标记出现,选项被取消时核选标记消失。
MFC中由CButton类对核选框进行支持,用户可以通过SetCheck()函数和GetCheck()函数设置或获取核选框当前的状态。
8 单选按钮(Radio Button):用来选择某种可能的选择,与核选框不同,该选项不是独立的。
MFC控件使用方法

MFC控件使用方法VC2012下MFC程序各控件的常用方法分类:vc控件2013-02-16 16:32 94人阅读评论(0) 收藏举报一下控件的用法全部在VC2012下调试通过,特发文收藏(部分内容来自或参考自网络):Static Text:将ID号改成唯一的一个,如:IDC_XX,然后进一次类向导点确定产生这个ID,之后更改Caption属性:GetDlgItem(IDC_XX)->SetWindowText(L"dsgdhfgdffd");设置字体:CFont *pFont= new CFont;pFont->CreatePointFont(120,_T("华文行楷"));GetDlgItem(IDC_XX)->SetFont(pFont);Edit Control:设置文本:SetDlgItemT ext(IDC_XX,L"iuewurebfdjf");获取所有输入:建立类向导创建一个成员变量(假设是shuru1,shuru2……)类型选value,变量类型任选。
UpdateData(true);GetDlgItem(IDC_XX)->SetWindowText(shuru1);第一句更新所有建立了变量的对话框组件,获取输入的值。
第二句将前面的IDC_XX的静态文本内容改为shuru1输入的内容。
若类型选用control:1.设置只读属性:shuru1.SetReadOnly(true);2.判断edit中光标状态并得到选中内容(richedit同样适用)int nStart,nEnd;CString strTemp;shuru1.GetSel(nStart,nEnd);if(nStart== nEnd){strTemp.Format(_T("光标在%d" ),nStart);AfxMessageBox(strTemp);}else{//得到edit选中的内容shuru1.GetWindowText(strTemp);strTemp= strTemp.Mid(nStart,nEnd-nStart);AfxMessageBox(strTemp);}其中nStart和nEnd分别表示光标的起始和终止位置,从0开始。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上一节中鸡啄米讲的是滚动条控件,本节主要讲一种简单实用的控件,图片控件Picture C ontrol。
我们可以在界面某个位置放入图片控件,显示图片以美化界面。
图片控件简介
图片控件和前面讲到的静态文本框都是静态文本控件,因此两者的使用方法有很多相同之处,所属类都是CStatic类,有关成员函数已在前面介绍,这里就不重复了。
图片控件静态和动态加载图片
鸡啄米下面为大家演示如何为图片控件静态和动态加载位图图片。
1. 图片控件静态加载图片
1)创建一个基于对话框的MFC工程,名称设置为“Example27”。
2)准备一张Bitmap图片,名称设为“test.bmp”,放到工程的res文件夹中,res文件夹路径为...\Example27\Example27\res。
鸡啄米在这里用的是一张鸡啄米网站的截图。
3)在Resource View中的“Example27.rc*”节点上点右键,选择“Add Resource...”,弹出“Add Resource”对话框:
然后在左侧的“Resource Type”中选择“Bitmap”,点按钮“Import”,显示一个文件对话框,我们选择res文件夹中的test.bmp图片文件,导入成功后会在Resource View的Exa mple27.rc*节点下出现一个新的子节点“Bitmap”,而在“Bitmap”节点下可以看到刚添加的位图资源IDB_BITMAP1,这里的默认ID就不修改了。
4.)在自动生成的对话框模板IDD_EXAMPLE27_DIALOG中,删除“TODO: Place di alog controls here.”静态文本控件、“OK”按钮和“Cancel”按钮。
添加一个Picture Control 控件,在图片控件的属性页中有一个Type属性,Type属性下拉列表中有8种类型,下面分别介绍下:
Frame:显示一个无填充的矩形框,边框颜色可以通过Color属性的下拉列表设定
Etched Horz:显示一条横分割线
Etched Vert:显示一条竖分割线
Rectangle:显示一个填充的矩形框,矩形颜色可通过Color属性的下拉列表设定
Icon:显示一个图标(Icon),图标通过Image 下拉列表来设置图标资源ID
Bitmap:显示一个位图(Bitmap),位图通过Image 下拉列表来设置位图资源ID
Enhanced Metafile:显示一个加强的元数据文件(Metafile)
Owner Draw:自绘
因为我们要加载的是位图图片,所以Type属性选择Bitmap。
5)在图片控件的Image属性的下拉列表中选择3)中导入的位图IDB_BITMAP1。
6)编译运行程序,弹出结果对话框,如下图所示:
2. 图片控件动态加载图片
以上讲的是静态加载图片的方法,下面接着讲动态加载图片的方法。
程序依然沿用上面的工程。
步骤如下:
1)将上面添加的图片控件的Image属性IDB_BITMAP1清空,Type属性不变。
2)修改图片控件的ID为IDC_JIZHUOMI_STATIC,然后为其添加CStatic类型控件变量m_jzmPicture。
(若不修改ID则无法为其添加控件变量)
3)在对话框下方添加一按钮控件,Caption属性改为“加载图片”,ID设为IDC_LOAD _PIC_BUTTON。
4)为按钮IDC_LOAD_PIC_BUTTON添加点击消息的处理函数CExample27Dlg::On
5)编译运行程序,弹出结果对话框,点击按钮“加载图片”,结果如下:
图片控件Picture Control的内容就讲到这里了。
应该说还是比较简单的。
最后,鸡啄米在此对一直以来关注本站的老朋友以及刚来的新朋友表示感谢。