搜档网
当前位置:搜档网 › Tab控件的使用

Tab控件的使用

Tab控件的使用
Tab控件的使用

MFC编程实例一:MFC编程Tab控件的使用

2011-03-15 08:09:02| 分类: C++(C语言) | 标签:ctabsheet m_ppages int nitem tabsheet |字号订阅

本文介绍在MFC如何使用标签控件,实现分页显示。

首先添加TabSheet类,菜单Insert->New Class

在弹出的对话框中类名写TabSheet,基类选择TabCtrl

TabSheet.h里面CTabSheet window用如下代码替换:

#define MAXPAGE 16

classCTabSheet : public CTabCtrl

{

// Construction

public:

CTabSheet();

// Attributes

public:

// Operations

public:

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CTabSheet)

//}}AFX_VIRTUAL

// Implementation

public:

intGetCurSel();

intSetCurSel(intnItem);

void Show();

voidSetRect();

BOOL AddPage(LPCTSTR title, CDialog *pDialog, UINT ID);

virtual ~CTabSheet();

// Generated message map functions

protected:

LPCTSTR m_Title[MAXPAGE];

UINT m_IDD[MAXPAGE];

CDialog* m_pPages[MAXPAGE];

intm_nNumOfPages;

intm_nCurrentPage;

//{{AFX_MSG(CTabSheet)

afx_msg void OnLButtonDown(UINT nFlags, CPoint point);

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif

// !defined(AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCL UDED_)

TabSheet.cpp里面TabSheet后面用如下代码替换:

CTabSheet::CTabSheet()

{

m_nNumOfPages = 0;

m_nCurrentPage = 0;

}

CTabSheet::~CTabSheet()

{

}

BEGIN_MESSAGE_MAP(CTabSheet, CTabCtrl)

//{{AFX_MSG_MAP(CTabSheet)

ON_WM_LBUTTONDOWN()

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CTabSheet message handlers

BOOL CTabSheet::AddPage(LPCTSTR title, CDialog *pDialog,UINT ID) {

if( MAXPAGE == m_nNumOfPages )

return FALSE;

m_nNumOfPages++;

m_pPages[m_nNumOfPages-1] = pDialog;

m_IDD[m_nNumOfPages-1] = ID;

m_Title[m_nNumOfPages-1] = title;

return TRUE;

}

voidCTabSheet::SetRect()

{

CRecttabRect, itemRect;

intnX, nY, nXc, nYc;

GetClientRect(&tabRect);

GetItemRect(0, &itemRect);

nX=itemRect.left;

nY=itemRect.bottom+1;

nXc=tabRect.right-itemRect.left-2;

nYc=tabRect.bottom-nY-2;

m_pPages[0]->SetWindowPos(&wndTop, nX, nY, nXc, nYc,

SWP_SHOWWINDOW);

for(intnCount=1; nCount

m_pPages[nCount]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_HIDEWINDOW);

}

voidCTabSheet::Show()

{

for(inti=0; i

{

m_pPages[i]->Create( m_IDD[i], this );

InsertItem(i, m_Title[i] );

}

m_pPages[0]->ShowWindow(SW_SHOW);

for(i=1; i

m_pPages[i]->ShowWindow(SW_HIDE);

SetRect();

}

voidCTabSheet::OnLButtonDown(UINT nFlags, CPoint point) {

CTabCtrl::OnLButtonDown(nFlags, point);

if(m_nCurrentPage != GetCurFocus())

{

m_pPages[m_nCurrentPage]->ShowWindow(SW_HIDE);

m_nCurrentPage=GetCurFocus();

m_pPages[m_nCurrentPage]->ShowWindow(SW_SHOW); // m_pPages[m_nCurrentPage]->SetFocus();

}

}

intCTabSheet::SetCurSel(intnItem)

{

if(nItem< 0 || nItem>= m_nNumOfPages)

return -1;

int ret = m_nCurrentPage;

if(m_nCurrentPage != nItem )

{

m_pPages[m_nCurrentPage]->ShowWindow(SW_HIDE);

m_nCurrentPage = nItem;

m_pPages[m_nCurrentPage]->ShowWindow(SW_SHOW);

// m_pPages[m_nCurrentPage]->SetFocus();

CTabCtrl::SetCurSel(nItem);

}

return ret;

}

intCTabSheet::GetCurSel()

{

returnCTabCtrl::GetCurSel();

}

/////////////////////////////////////////////////////////////////////////////

// CTabSheet

添加Tab控件,设置变量m_tab的类型为TabSheet

新建两个对话框,CStudent和CClassDlg,对话框内容根据需要自己设计。

将这两个对话框属性设置为:styles选项卡里面style选择child,然后将title bar复选框勾选删掉

tabDlg.h文件里面添加

#include "TabSheet.h"

#include "Student.h"//标签里面要显示的对话框类

#include "ClassDlg.h"

在class tabDlg里面添加private成员并声明要显示的对话框的一个对象,即private:

CStudentdlg;

ClassDlg dlg2;

最后在tabDlg.cpp初始化函数中添加如下代码即可

m_tab.AddPage("班级成绩", &dlg, IDD_DIALOG1);

m_tab.AddPage("年级成绩", &dlg2, IDD_DIALOG2);

m_tab.Show();

运行结果:

MFC Tab Control控件的详细使用

1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish.

2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X20

3. 在ClassWizard为其添加变量, 变量名为

m_tab. 类型为CTabCtrl.

3. 在对话框的初始化函数OnInitDialog里面添加如下代码:

m_tab.InsertItem(0,"参数一"); //添加参数一选项卡

m_tab.InsertItem(1,"参数二"); //添加参数二选项卡

m_tab.InsertItem(2,"结果"); //添加结果选项卡

4.在对话框资源里面添加三个对话框资源, ID分别命名为IDD_PARA1, IDD_PARA2, IDD_RESULT. 字体为宋体, 字号为9, style为Child, Border为None, 宽度调整为161. 再分别为其添加对应的基于CDialog类CPara1, CPara2, CResult.

5. 在CMyTabDlg类中添加三个成员变量m_para1, m_para2, m_result, 分别是三个子对话框的实例. 代码如下:

CResultm_result;

CPara2 m_para2;

CPara1 m_para1;

6. 在IDD_PARA1对话框上添加静态文本控件内容为"参数一" 再在后面插入一个文本框控件, 用ClassWizard将其关联为一个int型变量,名为m_nPara1;

在IDD_PARA2对话框上添加静态文本控件内容为"参数二" 再在后面插入一个文本框控件, 用ClassWizard将其关联为一个int型变量,名为m_nPara2;

在IDD_RESULT对话框上添加静态文本控件内容为"结果" 再在后面插入一个文本框控件, 用ClassWizard将其关联为一个int型变量,名为m_nResult;

7. 为CPara1类添加成员函数intGetParaValue() 代码如下:

int CPara1::GetParaValue()

...{

return m_nPara1;

}

为CPara2类添加成员函数intGetParaValue() 代码如下:

int CPara2::GetParaValue()

...{

return m_nPara2;

}

为CResult类添加成员函数void SetResultValue(intnResult) 代码如下:

void CResult::SetResultValue(intnResult)

...{

m_nResult = nResult;

}

8. 在IDD_MYTAB_DIALOG对话框的初始化函数OnInitDialog里面添加如下代码:

//关联对话框,并且将IDC_TABTEST控件设为父窗口

m_para1.Create(IDD_PARA1,GetDlgItem(IDC_TABTEST));

m_para2.Create(IDD_PARA2,GetDlgItem(IDC_TABTEST));

m_result.Create(IDD_RESULT,GetDlgItem(IDC_TABTEST));

//获得IDC_TABTEST客户区大小

CRectrs;

m_tab.GetClientRect(&rs);

//调整子对话框在父窗口中的位置

rs.top+=1;

rs.bottom-=60;

rs.left+=1;

rs.right-=2;

//设置子对话框尺寸并移动到指定位置

m_para1.MoveWindow(&rs);

m_para2.MoveWindow(&rs);

m_result.MoveWindow(&rs);

//分别设置隐藏和显示

m_para1.ShowWindow(true);

m_para2.ShowWindow(false);

m_result.ShowWindow(false);

//设置默认的选项卡

m_tab.SetCurSel(0);

9. 添加Tab Control控件的TCN_SELCHANGE事件响应函数OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult) ,函数体代码如下: intCurSel = m_tab.GetCurSel();

switch(CurSel)

...{

case 0:

m_para1.ShowWindow(true);

m_para2.ShowWindow(false);

m_result.ShowWindow(false);

break;

case 1:

m_para1.ShowWindow(false);

m_para2.ShowWindow(true);

m_result.ShowWindow(false);

break;

case 2:

m_para1.ShowWindow(false);

m_para2.ShowWindow(false);

m_result.ShowWindow(true);

break;

default:

;

}

*pResult = 0;

10. 在IDD_MYTAB_DIALOG对话框下面添加一个按钮, 标题为"计算" 为其添加事件响应函数, 代码如下:

m_para1.UpdateData(true);

m_para2.UpdateData(true);

m_result.SetResultValue(m_para1.GetParaValue()+m_para2.GetParaVal ue());

m_result.UpdateData(false);

11. 最后演示结果如下:

12. 这个小程序很简单,但是他说明了Tab Control控件的基本用法.

用法2

VC中的CTabCtrl用法与VB、Delphi的选项卡控件有很大的不同,每个属性页是用一个“窗体”(对话框)来实现,于是要为每个属性页对话框建类,还要关联、初始化……实在麻烦得多。但是CTabCtrl可重用性比ActiveX的选项卡控件好,因为一个属性页可以被多个不同的选项卡对话框调用,就像MFC中很多属性选项卡有“General”这一选项页,可以被多个控件的属性页调用,作为“通用”的,有符合现代软件工程可重用性要求。

下面发一个最简单的代码,使用CTabCtrl控件实现属性页功能。

1、建立一个基于对话框的应用程序;

2、画CTabCtrl控件,类向导中关联变量名为m_tab,新建三个对话框属性设为Child,None,用ClassWizard生成新的类,基类为Cdialog,分别为Cpage0,Cpage1,Cpage2,ID号分别为IDD_DIALOG0,IDD_DIALOG1,IDD_DIALOG2。在主对话框中加入三个变量,Cpage0 page0;Cpage1 page1;Cpage2 page2。别忘了在主对话框的头文件中要加入#include "Page0.h",#include "Page1.h",#include "Page2.h"

3、在主对话框的OnInitDialog()内初始化:

// TODO: Add extra initialization here

//初始化m_tab控件

m_tab.InsertItem(0," 呵呵,茂叶工作室");

m_tab.InsertItem(1," 嘻嘻");

m_tab.InsertItem(2," 哈哈,https://www.sodocs.net/doc/9c18952262.html, ");

//建立属性页各页

page0.Create(IDD_DIALOG0,GetDlgItem(IDC_TAB1));

page1.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));

page2.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1));

//设置页面的位置在m_tab控件范围内

CRectrect;

m_tab.GetClientRect(&rect);

rect.top+=20;

rect.bottom-=5;

rect.left+=5;

rect.right-=5;

page0.MoveWindow(&rect);

page1.MoveWindow(&rect);

page2.MoveWindow(&rect);

page1.ShowWindow(TRUE);

m_tab.SetCurSel(1);

4、m_tab控件属性页选择时显示各页:

void CMy3Dlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) {

// TODO: Add your control notification handler code here

intCurSel;

CurSel=m_tab.GetCurSel();

switch(CurSel)

{

case 0:

page0.ShowWindow(TRUE);

page1.ShowWindow(FALSE);

page2.ShowWindow(FALSE);

break;

case 1:

page0.ShowWindow(FALSE);

page1.ShowWindow(TRUE);

page2.ShowWindow(FALSE);

break;

case 2:

page0.ShowWindow(FALSE); page1.ShowWindow(FALSE); page2.ShowWindow(TRUE); break;

default: ;

}

*pResult = 0;

}

VisualStudio_各个控件详解

.NET控件详解 (2011-07-20 22:44:33) 转载 标签:it分类:C#语言 微软的.net控件详解,没有那个比这个更权威的了网址: https://www.sodocs.net/doc/9c18952262.html,/QuickStartv20/aspnet/doc/ctrlref/standard/multiview.aspx 参考资料:https://www.sodocs.net/doc/9c18952262.html,/QuickStartv20/aspnet/doc/ctrlref/standard/multiview.aspx 网易学院:https://www.sodocs.net/doc/9c18952262.html,/special/000915SN/stvs2005.html 参考资料:https://www.sodocs.net/doc/9c18952262.html,/tianine5/blog/item/1470aa35f46bad8aa61e1285.html .NET控件命名规范

按功能列出的推荐控件和组件:(windows程序用的控件和组件) 数据显示: DataGridView控件 DataGridView控件提供用来显示数据的可自定义表。使用DataGridView类,可以自定义单元格、行、列和边框。 注意DataGridView控件提供DataGrid控件所不具备的许多基本和高级功能。有关更多信息数据绑定和定位: BindingSource组件 通过提供当前项管理、更改通知和其他服务,来简化将窗体上的控件绑定到数据的过程。

文本编辑: BindingNavigator控件 提供工具栏式的界面来定位和操作窗体上的数据。 TextBox控件 显示设计时输入的文本,它可由用户在运行时编辑或以编程方式更改。 RichTextBox控件 使文本能够以纯文本或RTF 格式显示。 MaskedTextBox控件约束用户输入的格式信息显示(只读): Label 控件显示用户无法直接编辑的文本。 LinkLabel控件 将文本显示为Web 样式的链接,并在用户单击该特殊文本时触发事件。该文本通常是到另一个窗口或网站的链接。 StatusStrip控件 通常在父窗体的底部使用有框架的区域显示有关应用程序的当前状态的信息。ProgressBar控件向用户显示操作的当前进度。 网页显示: WebBrowser控件使用户可以在窗体内导航网页。

MFC编程Tab控件的使用

MFC编程实例一 MFC标签控件的使用 首先添加TabSheet类,菜单Insert->New Class 在弹出的对话框中类名写TabSheet,基类选择TabCtrl TabSheet.h里面CTabSheet window用如下代码替换: #define MAXPAGE 16 class CTabSheet : public CTabCtrl { // Construction public: CTabSheet(); // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CTabSheet) //}}AFX_VIRTUAL // Implementation public: int GetCurSel(); int SetCurSel(int nItem); void Show(); void SetRect(); BOOL AddPage(LPCTSTR title, CDialog *pDialog, UINT ID); virtual ~CTabSheet(); // Generated message map functions protected: LPCTSTR m_Title[MAXPAGE]; UINT m_IDD[MAXPAGE]; CDialog* m_pPages[MAXPAGE]; int m_nNumOfPages; int m_nCurrentPage;

各种控件的详细使用介绍

各种控件的详细使用介绍:常用属性,常用事件,常用的方法 控件的分类(控件根据所属的基类,进行划分) 根据是否能容纳其他控件,可以分为: 容器类控件(包括:表单集,表单,表格,表格列,页框,页面,命令按钮组,选项按钮组,工具栏,容器控件) 非容器类控件(包括:标签,文本框,编辑框,命令按钮,复选框,列表框,组合框,微调框,形状,计时器,线条,图像) 另外一种划分方法,是根据控件和数据环境中数据源的关系进行划分,控件分为:绑定型控件是指内容可以和与数据环境后端的表、视图或查询中的字段和内存变量相关联的控件。在该控件中输入、修改或选择的值将保存在数据源中,而数据源中值的改变,也将改变控件的值。(复选框,文本框,编辑框,列表框,组合框,表格,选项按钮组,微调框,activex控件) 非绑定型控件是指其内容不与后端的表、视图和查询中的字段或内容相关联的控件。(命令按钮,命令按钮组,线条,标签,计时器,形状,图像) 一、标签控件(Label)——非容器类控件,非数据绑定控件 用以显示文本,显示提示信息。标签上的显示文本由caption属性指定。 其中的文本在表单运行时不能被用户直接修改。 常用属性: 常用事件:mousemove 鼠标移动事件mousedown 鼠标按下左键事件 Click 单击事件mouseup 释放鼠标左键事件

【范例】参考实验作业HomeWork7-1-1.scx。 二、文本框与编辑框——非容器类控件,数据绑定控件 文本框——用以显示或编辑表中的非备注型字段的数据。 编辑框——用途与文本框相似,用以显示或编辑长字段或备注型字段的数据。 两者均为数据绑定控件,非容器类控件 文本框的常用属性: ?ControlSource 指定与文本框绑定的数据源 ?Value 指定文本框的当前选定的值 例如:value=0 表示文本框中的数据设置为数值型,不能输入字母或汉字?PasswordChar 用设定的字符来显示用户输入的值,而实际输入保存在value属性中。 例如:PasswordChar=*或者其他的符号。文本框中显示为*或其他符号

使用窗体控件

第2章使用窗体控件 课堂练习:为控件创建事件处理程序 5)传递给这个事件处理程序的第二个参数(e)的目的是什么? 答:参数e包含事件数据。它是一个EventArgs 对象(实际不包含事件数据的基类),或者是一个派生类(像MouseEventArgs)的实例。要查看派生类的完整列表,请在Visual Studio .NET帮助文档中使用短语“EventArgs 类”进行查找,然后点击链接转到“派生类”。 ●为Click 事件创建一个事件处理程序。 3)上面的双击动作为什么创建了一个Click 事件处理程序? 答:当在设计视图中双击一个控件时,IDE会自动为默认事件创建一个事件处理程序。课堂练习:创建和使用ToolBar控件 8)为什么不能向ToolBar 按钮添加图像呢? 答:ToolBar 控件将ImageList 控件作为图像源。使用ToolBar 控件的ImageList 属性指定Toolbar 将从哪个ImageList 控件获取图像。 13)运行应用程序。单击工具栏按钮时有事情发生吗?必须处理什么事件以响应单击ToolBar按钮? 答:ToolBar 的ButtonClick事件用来处理ToolBar按钮的单击。ToolBarButtonClickEventArgs 用来确定单击了哪个按钮。 课堂练习:在运行时添加和移除控件 ●添加新控件 6)为什么decimalCheckBox 出现在GroupBox1控件的左上角? 答:控件位置属性的默认坐标X和Y的值均为零。 课堂练习:在运行时更新菜单 ●使用另一个MainMenu 9)什么时候能在一个应用程序中使用多个MainMenu 控件? 答:在应用程序的上下文改变或者应用程序有多种状态时,使用(显示)多个MainMenu 对象会很有帮助。 ●将一个ContextMenu 分配给一个控件。 5)如何找出哪个控件与ContextMenu 有关联? 答:ContextMenu.SourceControl 属性获取显示快捷方式菜单的控件。 ●找出与ContextMenu关联的控件

(完整版)MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理 ================================================= MSFlexGrid总行数和总列数的定义: MSFlexGrid1.Rows = 5 '规定表格的总行数为5行 MSFlexGrid1.Cols = 2 '规定表格的总列数为2行 MSFlexGrid某一单元格的文本内容 MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) ="https://www.sodocs.net/doc/9c18952262.html, " 定义第3行第2列的文本内容为:“https://www.sodocs.net/doc/9c18952262.html,” 右键选中MSFlexGrid的 Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbRightButton Then MSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5 MSFlexGrid1.RowSel = MSFlexGrid1.Row '右键选种当前行---备用u3u3: 'MSFlexGrid1.Col = 0 'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1 '右键选种当前单元格---备用u3u3: 'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5 'MSFlexGrid1.Col = MSFlexGrid1.Col 'Text1.Text = MSFlexGrid1.Text End If End Sub

实验名称MFC基本控件的使用

1、实验名称:MFC基本控件的使用 2、实验目的:掌握编辑框类及其方法,熟练掌握利用编辑框类开发基于MFC的应用 程序的方法。 3、实验内容:使用MFC AppWizard创建如图一所示的基于对话窗的应用程序,实现算 术加、减、乘和除运算。 图一 4、程序实现方法: (1)使用AppWizard建立应用程序框架 ①在进入Visual C++ 6.0的第一个界面下,选择MFC AppWizard(exe),在Project name 文本输入框中输入新建的项目名称“计数器”,并设置其所在位置,单击OK按钮,如图二所示。 图二Visual C++ 6.0的第一个界面 ②在MFC AppWizard的第一步中选择基本对话,如图三所示,其余的都采用默认选项。

图三MFC AppWizard的第一步界面 这样就建立了一个基于对话框的程序,如图四所示。 图四基于对话框的界面 (2)利用资源编辑器建立对话框 在图四的Resource View选项卡中打开Dialog资源组,本程序的工程文件名为计数器,因此,系统自动产生一个名为IDD_MY_DIALOG的资源文件,双击IDD_ MY_DIALOG,在右边的窗口中显示出待编辑的对话框。根据如图一所示的样式,利用Visual C++ 6.0的控键(Controls)建立对话框。 下面以“数据1”编辑框和“+”按钮为例介绍控件的创建过程,其他编辑框和按钮的创建可参照此操作: ①在图四中Controls的“编辑框”按钮上单击鼠标左键、在如图一所示的对话框编辑窗口上的“数据1”编辑框的位置上,按下鼠标左键,并拖动鼠标画出一个大小合适的编辑框。在编辑框上单击鼠标右键,在弹出的快捷莱单中选择Properties选项,此时弹出Edit Properties 属性设置对话框,如图五所示,在该对话框中输入ID属性。

单文档-Tab Control 控件的使用

利用Tab Control控件设计一个分页表,见下图 1. 建立一个MFC类型的基于FormView的单文档工程TabTest。 2. 把一个Tab Control控件拖到主对话框中,主对话框的ID为IDD_TABTEST_FORM,Language设为:Chinese(P.R.C)。Tab Control的ID为IDC_TAB1。 3. 通过ClassWizard的设置一个与Tab Control相关的变量m_tab,类型为CTabCtrl。 4.建立两个对话框资源,设置其Style为Child,Borden为None。因为想要不带标题栏和工具栏的对话框,因此我选择的是Dialog 资源中的IDD_FORMVIEW型的对话框。它们的ID分别为IDD_Page1_FORMVIEW和IDD_Page2_FORMVIEW。 5.通过ClassWizard分为别两个对话框资源建立两个类CPage1和CPage2。并建立CPage1和CPage2对应的两个两个对象:在CTabTestView中增加两个变量m_page1和m_page2,类型分别为CPage1和CPage2型。 6.在View的初始化函数OnInitialUpdate()函数中把CPage1和CPage2与TabControl关联起来,设置初始页面,保存页面地址,代码如下: void CTab_testView::OnInitialUpdate() { CFormView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit(); //为TabControl增加两个页面 m_tab.InsertItem(0,"标签1");

实验三 高级UI控件的使用

实验三高级UI控件的使用 姓名:杨赟班级:电信1302班学号:0121309340121 一、实验目的 学会高级UI控件的使用:菜单,对话框,提示通知,时间控件,列表和进度二、主要仪器设备及套数 计算机 三、实验内容 1.菜单 Options menu介绍 Options menu 是一个Activity中的菜单选项的主要组成部分,它是作用在全局的app中的,比如说 "Search","Compose email","Settings." 在Android 2.3 版本以下或者更低版本中,用户可以通过点击菜单按钮来弹出菜单选项面板 在Android 3.0 高级别的版本中,这种选项菜单已经被 Action Bar 这种直接在屏幕中操作选项或者弹出选项的组件所替代了。从Android 3.0 开始,菜单按钮是不赞成使用了(很多设备已经没有了菜单的按钮) ,所以你应该转移到 ActionBar 提供给用户操作其它选项的动作。 详情参考:Creating an Options Menu 2) Options menu 定义方式 创建 Options menu 这个菜单有两种使用方式,一种是在代码中直接创建,主要是使用add()方法的方式,查看Menu API 文档中的add()方法 public abstract MenuItem add (int groupId, int itemId, int order, CharSequence title) groudId:是指组ID,用以批量地对菜单子项进行处 理和排序 itemId:是子项ID,是每一个菜单子项的唯一标识 order:指定菜单子项在选项菜单中的排列顺序 titler:菜单标题 另外一种是在 XML 中定义一个菜单,引用代码如下 3) 触发事件 触发点击事件,当用户选择从菜单选项中选择一项的时候(包括 ActionBar中的action items) ,系统会调用你Activity的onOptionsItemSelected()方法,这个方法会

TabControl 的用法

TabControl 收藏 判断选中的选项卡(TabPage) (1)用TabControl 的SelectedTab属性 if(tabControl1.SelectedTab == tabPage2) (2)用TabControl 的SelectedIndex 属性 if(tabControl1.SelectedTab == 1) 设置当前选项卡(TabPage) (1)用SelectTab 方法 将指定的选项卡(TabPage)设置为当前的选择卡(TabPage)。 重载形式如下: TabControl.SelectTab (Int32)使具有指定索引的选项卡成为当前选项卡。 TabControl.SelectTab (String)使具有指定名称的选项卡成为当前选项卡。TabControl.SelectTab (TabPage)使指定的TabPage 成为当前选项卡。 (2)DeselectTab 方法 将指定的选项卡(TabPage)后面的选项卡成为当前选项卡(TabPage)。 重载形式如下: TabControl.DeselectTab (Int32)使具有指定索引的选项卡后面的选项卡成为当前选项卡。TabControl.DeselectTab (String)使具有特定名称的选项卡后面的选项卡成为当前选项卡。TabControl.DeselectTab (TabPage)使指定的TabPage 后面的选项卡成为当前选项卡。 TabControl 变更事件 在TabControl 中的当前选项卡发生更改时,将按以下顺序发生下列事件。 Deselecting Deselected Selecting Selected

控件使用

、控件mscomm32.ocx 的几个重要属性 CommPort:设置并返回通讯端口号。 Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口。 Input:从接收缓冲区返回和删除字符。 Output:向传输缓冲区写一个字符串。 InBufferCount:返回接收缓冲区中等待的字符数,该属性在设计时无效,可以把InBufferCount 属性设置为0 来清除接收缓冲区。 InBufferSize:设置并返回接收缓冲区的字节数,接收缓冲区的大小。Rthreshold:产生OnComm 事件之前要接收的字符数。设置Rthreshold 为1,接收缓冲区收到每一个字符都会使MSComm 控件产生OnComm 事件。设置为0(缺省值)则不产生OnComm 事件。 CommEvent:返回最近的通讯事件或错误。该属性在设计时无效,在运行时为只读。只要有通讯错误或事件发生时都会产生OnComm 事件,CommEvent 属性存有该错误或事件的数值代码。CommEvent 属性返回2 表示收到Rthreshold 个字符。该事件将持续产生直到用Input 属性从接收缓冲区中删除数据。 2、实例: 该事例演示如何控制COM口发送命令及如何接收数据。本事例采用轮讯方式。适用于通讯数据 不是很巨大的和要求不是很高速的情况下。 (1)在VFP中,建立一个新的表单 (2)插入文本(命名为TEXT1,用来显示读取的数据) (3)建立Microsoft Communication Control1 控件在工具栏中点插入ole容器控件,选择Microsoft Communication Control 控件(NAMe为mscomm1) (4)建立一个按纽命名为command1 (5)在CHICK属性里下如下代码: **存储变量名字 buffer="" ** 使用COM1。 https://www.sodocs.net/doc/9c18952262.html,mPort = 1 **9600 波特,无奇偶校验,8 位数据,一个停止位。 thisform.MSComm1.Settings = "9600,N,8,1" * 告诉控件读入整个缓冲区。 thisform.MSComm1.InputLen = 0 * 打开端口。 thisform.MSComm1.PortOpen = True **将attention 命令送到调制解调器。这是MODEM的状态读取命令 thisform.MSComm1.Output = "ATV1Q0" & Chr$(13) ** CHR(13)是回车符号,用来表示命令结束 **等待数据返回到串行端口。 vv=1 do while .t. Buffer = thisform.MSComm1.Input *从串行端口读"OK" 响应。

VB6.0基本控件的属性

VB基本控件的属性,方法经及事件 VB基本控件的属性,方法经及事件 VB基本控件的属性,方法经及事件 所有控件都具有的属性: 1、Name: 表示在代码中用来标识一个控件的名字。 2、Enabled: 表示一个控件是否可以响应一个事件,即该控件可不可用。 值为true: 可以响应;值为false: 不可以看见。 3、Visible: 表示一个控件是否可见。值为true:可以看见;值为false: 不可以看见。所有控件都有具有的事件: 1、KeyDown : 当用户按下键盘上一个键时发生的。 2、KeyUp : 在用户松开键盘上按下的键时发生的。 3、KeyPress : 在Key Down和Key Up事件之间发生。 4、MouseDown : 在鼠标被按下时触发的。 5、MouseUp :在用户松开鼠标键时发生的。 6、Click :在用户单击鼠标左键时发生的。 7、DblClick :在用户双击鼠标时发生的。 一、窗体(Form) 属性: 1、Caption: 表示窗体标题栏的文字。 2、BorderStyle: 一般情况下为默认值,若更改为下列值: 1)值为0:没有窗体标题栏 2)值为1:窗体运行之后不能改变大小 3、WindowState: 设置窗体的大小。 3)值为0:窗体正常大小 4)值为1:窗体最小化 值为2:窗体最大化 4、BackColor: 表示窗体的背景颜色 事件: 1、Initialize(初始化事件): 在窗体加载和显示之前触发,这个事件只触一次。 2、Load(加载事件): 用来完成窗体显示之前需要完成的动作。 3、Activate/Deactivate (激活/非激活事件):是用户在同一个应用程序的两个或多个窗体之间移动时触发的。 4、QueryUnload(条件卸载事件): 决定窗体是如何关闭的。 触发QueryUnload事件时Unload 的参数和因素有: 1)VbFormControlMenu值为0 :选中窗体控件菜单中的Close命令。 2)VbFormCode值为1 :从代码中调用Unload 语句。 3)VbAppWindows值为2 :终止当前的Windows操作系统。 4)VbFormMDIForm值为4 :因为终止MDI父窗体而导致MDI子窗体的终止。 5、Terminate(终止事件):在窗体的所有实例从内存中清除时发生,只触发一次。方法: 1、Load:加载窗体,但不在屏幕上显示 2、Unload:卸载窗体,既从屏幕上也从内存中清除窗体。 3、Show:加载窗体并在屏幕上显示窗体。Show分为:

_003_TabControl控件的使用教程

本文档为MFC项目中Tab Control控件的图文详解教程,以下是详细步骤: 第一步:打开Microsoft Visual Studio软件(教程使用的版本为Microsoft Visual Studio Professional 2015),如下图,点击“新建项目” 第二步:选择“已安装--> 模板--> Visual C++ --> MFC --> MFC应用程序”,在名称栏输入项目名称(本教程使用默认名称),点击“确定” 第三步:选择“基于对话框”,点击“完成”

第四步:将默认对话框中的标签删除,在右边的“工具箱”中找到“Tab Control”并鼠标左键选中控件拖到左边的对话框中,并手动调整好大小 第五步:选中刚才添加好的Tab Control控件,右击选中“添加变量”或“类向导”为该控

件设置变量名(为了操作步骤简单起见,这一步选择“添加变量”,读者也可以尝试选择“类向导”来进行设置) 第六步:进入到添加成员变量向导,控件ID默认就可以(也可以选择该控件,在该控件的属性当中进行设置),在“变量名”栏中输入该控件的变量名,点击“完成”

第七步:选择“xxxDlg.cpp”包含“resource.h”头文件(也可包含在”xxxDlg.h”中) 第八步:在“xxxDlg.cpp”文件的OnInitDialog函数中添加设置Tab Control的Item代码,Tab Control的Item的下标从0开始,从左至右依次递增。(本教程共设置了4个Item,从左至右依次为“PPPOE拨号”、“在线客服”、“上网导航”、“网络测速”)编译代码并运行,结果如图所示 第九步:添加Tab Control控件对应Item的对话框。选中“资源视图--> Dialog”,右击选择“添加资源”

KVDBGrid控件使用方法

KVDBGrid控件使用方法 KVDBGrid控件是一个组态王提供的用于通过ODBC接口访问数据库的Active X控件。通过该控件,用户可以方便的访问到数据库,进行数据查询,还可将查询结果打印出来。 一、控件功能: 1.显示数据库一个表中的数据,可进行显示字段选择,查询条件限制(目前暂不支持多个表数据的查询)。 2.开发状态可设置显示表头。 3.运行状态可编辑表格中数据。但不更新数据库。 4.运行状态可动态设置过滤条件,刷新显示。 5.可打印表格中显示的数据,可进行横向和纵向分页。 二、使用说明: 1.在画面中插入控件:组态王画面菜单中编辑\插入通用控件,或在工具箱中单击“插入通用控件”按钮,在弹出的对话框中选择KVDBGrid Class,单击确定。 2.按下鼠标左键,并拖动,在画面上绘制出表格区域。 3.设置动画连接:双击控件或选择右键菜单中动画连接,在弹出的属性页中设置控件名称等信息(控件动画连接属性的具体设置请参见《组态王6.0使用手册》中控件一章)。 4.设置控件属性:选择控件右键菜单中“控件属性”。弹出控件固有属性页,可分别设置如下属性:(1)、数据源: 单击“浏览”按钮可选择或新建ODBC数据源。 选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。 选择表名称后,“有效字段”中自动填充表中的所有字段,可通过“添加”、“删除”,“上

移”,“下移”按钮来选择要显示的字段和显示顺序。 单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。 最后在“查询条件”中设置限制条件(ODBC SQL语法)。如查询“日期”2001年9月1日的“原料罐液位”大于10的所有数据,则在该文本框中输入: 原料罐液位>10 and 日期=’2001/9/1’ (2)、表格属性: 可设置表格的一般属性。 说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由 使用者在设计状态编辑其显示内容。 (3)、颜色: 可设置表格颜色,背景颜色,文本颜色等信息。 (4)、字体:

Tab键的使用方法

Tab键的使用方法(计算机) Tab键——跳格键,大家都比较熟悉了吧,但是到底它有什么特殊的使用功能,却未必是大家都知道的哦。今天我将Tab键的几种使用功能进行了整理,大家可以参考学习学习。 跳格----当我们在网页输入表单的时候,在一个输入控件完成内容输入后,如果要转移到下一个控件进行输入时,可以选择使用鼠标进行光标的移动选择和点击,使得光标停在我们输入框中,以便进行内容的输入。如果不使用鼠标的话,可以点击使用Tab键,来实现光标在页面上所有可输入控件间的依次跳转,对于喜欢使用快捷键来加快操作的电脑使用者而言,挺方便的。 重命名---当我们需要将一个文件夹下的多个文件进行重命名操作的时候,我们可以先在完成第一个需要重命名的文件改名之后,改下Tab键,即可依次跳转到下一个文件的重命名状态。也是一种很方便的快捷操作方式 切换窗口---使用Alt+Tab组合快捷键,能够实现当前多个窗口的依次切换。按住Alt键,依次点击Tab键,即可实现依次切换功能。如果要反向顺序选择的话,可以使用Alt+Shift+Tab的组合键,按住A lt+Shift,然后再依次点击Tab键。切换窗口---使用Alt+Tab组合快捷键,能够实现当前多个窗口的依次切换。按住Alt键,依次点击

Tab键,即可实现依次切换功能。如果要反向顺序选择的话,可以使用Alt+Shift+Tab的组合键,按住Alt+Shift,然后再依次点击Tab 键。 快速查看文件---在cmd命令窗口,当进入一个磁盘路径后,可以输入“dir ”,然后点击Tab键,那么就依次显示出在该磁盘路径下的各种类型的所有文件或者文件夹内容。此种功能,还可以配合通配符的使用,大家可以查阅相关资料参考学习。

实验7 Windows窗体控件高级应用

实验六Windows窗体控件高级应用 一、实验目的: 理解 Windows 窗体 使用基本控件如标签、文本、按钮、列表框和组合框 掌握窗体的常用属性和方法 使用WinForms中的高级控件 了解 MDI 应用程序和 SDI 应用程序 了解菜单和掌握菜单控件的使用 掌握 ImageList 控件 掌握 ToolBar 控件和 StatusBar 控件 掌握Timer 控件 掌握 TreeView 控件 掌握 ListView 控件 二、实验要求 1. 整理上机步骤,总结经验和体会。 2. 完成实验日志和上交程序。 三、实验内容 ?建立个人简历的Windows应用程序。 ?使用菜单、工具栏来改变窗口的大小与颜色。 四、实训步骤: Windows窗体是Visual Studio .NET提供的集成开发环境(IDE),可用于Windows应用程序开发。它带有可用于创建GUI(Graphical User Interface,图形用户界面)的所有现成界面组件。 1:创建Windows窗体个人简历应用程序 问题 请编写一个简单的个人简历程序,要求可以通过文本框输入姓名,通过单选按钮设置性别,通过下拉列表框选择文化程度,通过文本区域填写其他个人信息;通过文件对话框选择照片并显示;通过两个下拉列表框来关联选择籍贯。 指导教师分析解题思路 该问题需要开发一个窗体,要求对用户的简历信息进行登记。该应用程序主要用到按钮、文本输入框、图片显示框、下拉列表框和列表框等控件。 分析 主要通过对窗体和各控件相应的事件处理函数进行编程,包括窗体的Load、下拉框的SelectedIndexChanged、按钮的Click事件。 表5.1 窗体的控件属性

MFC控件使用详细教程

使用Windows标准控件 我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类: (1) Windows标准控件 Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。 表6.1 Windows标准控件

续表6.1 前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。Windows标准控件在以下环境下提供: ?Windows 95 ?Windows NT 3.51及以后版本 ?Win32s 1.3 ?注意: ?Visual C++ 4.2及以后版本不再支持Win32s。 (2) ActiveX控件

ActiveX控件可用于对话框中,也可用于HTML文档中。这种控件过去被称为OLE 控件。本书将在专门的章节中来讲述关于ActiveX控件的知识。这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。 (3) 其它MFC控件类 除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装: ?类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。 ?类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。 ?类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。 在本章我们仅讲述第一类控件,即Windows标准控件。所涉及的内容包括各个控件的使用及相应的技巧。 第一节使用对话框编辑器和ClassWizard 对于大多数Windows标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。 图6. 1 在ResourceView中选择对话框 IDD_DIALOGDEMO_DIALOG

坐席控件开发接口使用说明最新

呼叫中心坐席端控件(EasyAgc.ocx)使用说 明 为什么需要坐席端控件 在一个完整的呼叫中心系统中,坐席端软件是一个重要的组成部分。坐席人员通过坐席端软件与呼叫中心服务器(CCS)进行交互,完成对通讯设备的控制和相关信息的交换,如坐席的登录、注销、离席、复席、应答、呼出、转移等等动作,都是通过坐席端软件与CCS的通信完成的。一般来说,坐席端软件与CCS之间的通信是建立在TCP/IP的基础上的。具体的通信包格式可以自行定义。为了降低坐席端软件的开发难度和加快坐席端软件的开发速度,通行的做法是把坐席端软件分成通信模块与业务模块两部分。其中业务模块会随客户的需求变化而变化,一般都需要进行定制开发;而通信部分则相对变化较少,不论什么行业的呼叫中心,其坐席端软件一般都需要包括坐席的登录,注销,呼出,应答,挂断,转移等基本通信功能。因此有必要把坐席软件的通信模块进行封装,以OCX控件的方式提供给最终用户,最终用户不需要了解坐席端与CCS之间的通信包格式,也不必学习Socket通信的开发技术,只需访问OCX控件公布的方法和属性,对OCX控件公布的事件进行响应,就可以完成坐席端软件通信模块的开发。 坐席端控件支持的开发语言 北京同力信通软件公司坐席端控件符合Windows控件标准,理论上支持所有可以支持控件的开发语言,成功通过北京同力信通软件公司公司测试的语言包括: Delphi 7.0 Visula Basic 6.0 Visual C++ 6.0 IE6.0-VBScript/Jscript 坐席端控件的接口 方法 tlaOpen tlaClose tlaLogin tlaLogoff tlaACW tlaWCA

常用基本控件测试用例

目录 树控件的测试错误!未指定书签。 下拉框(列表框)测试用例设计错误!未指定书签。 文本框为字符型错误!未指定书签。 日期控件文本框的测试错误!未指定书签。 命令按钮控件的测试错误!未指定书签。 单选按钮控件的测试错误!未指定书签。 翻页控件的测试错误!未指定书签。 上传控件的测试错误!未指定书签。 up-down控件文本框的测试错误!未指定书签。 复选框的测试错误!未指定书签。 滚动条控件的测试错误!未指定书签。 各种控件在窗体中混和使用时的测试错误!未指定书签。 查找替换操作错误!未指定书签。 插入操作错误!未指定书签。 编辑操作错误!未指定书签。 界面测试用例的设计方法错误!未指定书签。 菜单错误!未指定书签。 特殊属性错误!未指定书签。 其他错误!未指定书签。 树控件的测试外观操作返回目录 1)项目中的所有树是否风格一致 2)树结构的默认状态是怎样的。比如默认树是否是展开,是展开几级?是否有默认的焦点?默认值是什么?展开的节点图标和颜色? 3)验证点开节点时页面上树结构的连线是否显示正确。 4)如果显示节点超过页面边界是否有规定。 5)节点和叶子显示的文字规定多长要折行。 6)节点和叶子显示的文字不能有乱码。(输入中文,特殊字符) 2、执行操作 1)点某个节点时,是否只展开下一级的节点和显示该级的叶子还是显示下一级全部的。 2)点页面刷新时,树结构是否按照要求变化,树结构是否保存现状还是程默认状态。 3、数据操作 1)树结构上数据是否正确。 2)树结构上的节点和叶子是否排序正确。(升序还是降序)。 3)树结构排序是按照数据库中得记录顺序排序还是按照程序数组得顺序。 4)执行了某一操作或数据有变化后,树结构是否回到默认状态,还是按现任状态保持展开。5)执行了某一操作或数据有变化后,修改后得数据是不是在正确得位置上,状态是否正确,排序是否正确。

VC Table控件的用法

VC之TAB控件 VC中使用TAB Control控件 假如我现在有个SDI程序,View是Form View,想在上面放个Tab Control,包含两个Page。现在让我们来看看应该怎样处理。 首先当然要增加一个Tab Control资源,然后利用Class Wizard,在View中增加一个Control变量。 接着建立两个对话框资源,别忘了把Style改为Child,Border改为None。然后就可以在上面加其他控件了。 接着利用Class Wizard,分别为这两个对话框建立两个类,比如CPage1和CPage2。 然后在View类头文件中,加入这两个对话框对象。同时增加一个变量int m_CurSelTab,用了表明是哪个Page即将被切换。 为了避免用户在切换Tab时,程序对Tab Index的枚举,可以利用数组来做这个事情。 在View的初始化函数中需要把CPage1、CPage2和Tab Control关联起来,并保存页面地址,设置初始页面,等等。 void CTab_testView::OnInitialUpdate() { CFormView::OnInitialUpdate(); GetParent()->RecalcLayout(); ResizeParentToFit(); //为Tab Control增加两个页面 m_tab.InsertItem(0, _T("First")); m_tab.InsertItem(1, _T("Second")); //创建两个对话框 m_page1.Create(IDD_DIALOG1, &m_tab); m_page2.Create(IDD_DIALOG2, &m_tab); //设定在Tab内显示的范围 CRect rc; m_tab.GetClientRect(rc); rc.top += 20; rc.bottom -= 8; rc.left += 8; rc.right -= 8;

ppt的高级使用方法

制作幻灯片的高级使用 1如何在幻灯片中插入动画 2如何在幻灯片中插入声音 3如何在幻灯片中插入视频 一、在PowerPoint中插入flash影片的方法 法一:利用控件插入法 1.调出工具箱。操作步骤:启动powerpoint,从主菜单中选择—视图—工具栏—控件工具箱。如图1 2.在控件工具箱中选择“其他控件”,这时会列出电脑中安装的Active X控件,找到Shockwave Flash Object控件。如图2。 3.这时,鼠标变成“+”,在幻灯片中需要插入flash动画的地方画出一个框。如图3。 4.在框中点击鼠标右键,点击属性,如图4,然后出现Shockwave Flash Object属性设置栏,如图5。 5.左键双击“自定义”,在弹出的对话框中,在影片URL(M)后的输入栏中,填上要插入的swf档案的路径和文件名,当然,直接读取网上的swf文件也是可以的。如图6。 注意:在填写影片URL时需填写上文件的后缀名.swf。另外选中“嵌入影片”,即将flash 动画包含到ppt文件中,复制ppt的同时不需复制动画文件,当将该ppt复制或移动到其他计算机使用时仍能正常显示flash。若未选“嵌入影片”,则需将动画文件和ppt文件同时复制,并且修改影片URL路径,否则在动画位置上将会出现白框,动画显示不正常。笔者建议选择“嵌入影片”。若计算机上未安装flash播放器也能正常运行。 保存浏览即可。 优点:1)无需安装flash播放器; 2)在图6所示对话框中选中“嵌入影片”,则可将动画文件和ppt文件合为一体,复制时不需单独复制动画文件,也不需再做路径修改。 缺点:操作相对复杂。 法二:利用对象插入法 1、启动PowerPoint后创建一新演示文稿; 2、在需要插入Flash动画的那一页单击菜单栏上的“插入——对象”,如图7。出现插入对象对话框,单击“由文件创建——浏览”,选择需要插入的Flash动画文件,然后确定,如图8; 3、在刚插入Flash动画的图标上,单击鼠标右键打开快捷菜单,选择“动作设置”,如图9,出现动作设置对话框,选择“单击鼠标”或“鼠标移过”都可以,在“对象动作”项选择“激活内容”,单击确定,如图10。

组态王视频控件使用方法

组态王视频控件使用方法 第一步建立一个组态王工程; 第二步建立一个新画面; 第三步添加视频控件’具体步骤如下: 1插入通用控件video control 图1 Ifi人控件 图2 2、单击确定后鼠标变成“ +”状,按住鼠标左键,拉出一个矩形框,松开即可;

图3第三步添加按钮; 图4 第四步设置视频控件动画连接属性,完成后点击“确定”按钮,然后在开发系统界面的文件下拉菜单下选择全部存;

图5 第五步编辑按钮动画连接属性; 1、双击“打开视频”按钮,弹出下图对话框,单击“按下时”; 图6

弹出图XXX对话框选择“控件属性和方法”按钮,弹出(图8)对话框; 图7

选择“ Open Video ”单击确定弹出(图10)对话框了; 授伸名珊 |确定 両毎习 ZJ 取消 查若类型 1揑件方法 2d 屈性戒方进 Kb outB ox CapVll^ToAVI ^LoselTideo G E tl'evKum Zip enAVI 图8 KeadFort

图10 “LONG nReslnde”代表设备号,右键“我的电脑—管理—设备管理器一图像处理设备”双击你安装的视频设备就可以查看你的视频设备号。 关闭视频:视频练习.CIoseVideo(); 拍照:视频练习.SaveVideoFrame(LPCTSTR IpszPicName)" LPCTSTR IpszPicNam” 照片的保存地址和名称; 回放:视频练习.OpenAVI(LPCTSTR lpszFileName) “LPCTSTR lpszFileNam e要回 放的视频保存位置及名称; 摄像:视频练习.CapVideoToAVI(LPCTSTR IpszAVIName)'LPCTSTR lpszAVINam”表示录制的视频将保存的位置及视频文件名称; 抓拍:视频练习.SaveVideoFrameToRect(LPCTSTRlpszPicName) ;“ LPCTSTR IpszPicName”表示抓拍的图片即将保存的BMP文件的位置和名称; 设置视频源:视频练习.VideoSource();设置视频的来源,即选择视频设备; 停止摄像:视频练习.StopCapVideo();

相关主题