当前位置:文档之家› TAB_Control控件_的使用方法

TAB_Control控件_的使用方法

TAB_Control控件_的使用方法
TAB_Control控件_的使用方法

TAB Control控件的使用方法。

2010年08月30日星期一 14:25

TAB Control控件的使用方法。

2009-08-05 12:25

(转)VC中使用TAB Control控件(2009-06-21 10:49:43)标签:控件杂谈分类:vc学习

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();

GetParentFrame()->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;

m_page1.MoveWindow(&rc);

m_page2.MoveWindow(&rc);

//把对话框对象指针保存起来

pDialog[0] = &m_page1;

pDialog[1] = &m_page2;

//显示初始页面

pDialog[0]->ShowWindow(SW_SHOW);

pDialog[1]->ShowWindow(SW_HIDE);

//保存当前选择

m_CurSelTab = 0;

}

这里面需要注意的是,我用了一个CDialog指针数组来进行保存,数组的大小是Tab Control页面的个数,数组下标对应着每个页面的索引(这样方便快速存取)。

用户切换时,需要响应相关的消息。

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

// TODO: Add your control notification handler code here

pDialog[m_CurSelTab]->ShowWindow(SW_HIDE);

m_CurSelTab = m_tab.GetCurSel();

pDialog[m_CurSelTab]->ShowWindow(SW_SHOW);

*pResult = 0;

}

首先我们先把当前的页面隐藏起来,然后得到新的页面索引,最后就把相关页

面显示出来即可。这比一个个去枚举简单多了。

还有一点比较有意思,那就是DDX/DDV机制的运用。要想获得Tab Control各个页面的数据,可以利用DDX/DDV机制,但需要注意,因为这是多个页面,所以需要显式调用多次。

void CTab_testView::OnButton1()

{

// TODO: Add your control notification handler code here

m_page1.UpdateData();

m_page2.UpdateData();

CString str1 = m_page1.m_str1;

CString str2 = m_page2.m_str2;

AfxMessageBox(str1);

AfxMessageBox(str2);

}

经过这几步处理,基本上我们就可以利用Tab Control的强大功能了。

===================================

VC之TAB 控件实例

对于用惯了VB和VC#的我来说,VC控件真是太麻烦了,不过有什么办法呢?许多企业还在使用,所以继续学习,咸淡算扯到这了,这里做了个最为简单的Tab Control 的使用范例。

1. 在主面板上拖放一Tab Control控件,我们这里建立其在主面板类(CTabSampleDlg)里面的成员变量m_tab。

2.添加两个子对话框,将其属性设置为“child,none”。这里要注意了,添加的必须是继承自DIALOG类的对话框,而不是PropPage对话框,否则的话,子面板将不能响应用户操作。然后生成两个新类“CTabPage1,CTabPage2”。

3.为CTabSampleDlg类添加两个成员变量,他们分别是CTabPage1和CTabPage2类的实例。

4.在CTabSampleDlg类的OnInitDialog成员函数内的适当位置添加如下代码。

BOOL CTabSampleDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

CString strAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

// Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog

SetIcon(m_hIcon, TRUE); // Set big icon

SetIcon(m_hIcon, FALSE); // Set small icon

//==========================================================

//初始化TAB

TCITEM tc1,tc2;

tc1.mask = TCIF_TEXT;

tc1.pszText = "第一页";

tc2.mask = TCIF_TEXT;

tc2.pszText = "第二页";

m_tab.InsertItem(0, &tc1);

m_tab.InsertItem(1, &tc2); //到这里只是添加了两个tab页

CRect rec;

m_tab.GetClientRect(&rec);//获得TAB控件的坐标

//定位选项卡页的位置,这里可以根据情况自己调节偏移量

rec.bottom -= 1;

rec.left += 1;

rec.top += 20;

rec.right -= 2;

//创建子页面

m_page1.Create(IDD_DIALOG1, GetDlgItem(IDC_TAB));

m_page2.Create(IDD_DIALOG2, GetDlgItem(IDC_TAB));

//将子页面移动到指定的位置

m_page1.MoveWindow(&rec);

m_page2.MoveWindow(&rec);

//显示子页面

m_page1.ShowWindow(SW_SHOW);

m_page2.ShowWindow(SW_HIDE);

//===============================================================

return TRUE; // return TRUE unless you set the focus to a control

}

5. 为主面板上的TabControl 控件添加 OnSelchangeTab 事件,添加代码如下。

void CTabSampleDlg::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult) {

// TODO: Add your control notification handler code here

switch (m_tab.GetCurSel())

{

case 0:

m_page1.ShowWindow(SW_SHOW);

m_page2.ShowWindow(SW_HIDE);

break;

case 1:

m_page1.ShowWindow(SW_HIDE);

m_page2.ShowWindow(SW_SHOW);

break;

default:

break;

}

*pResult = 0;

}

======================================

Tab Control控件的应用

前几天在网上搜了点资料,是关于Tab Control控件的应用,当时还做了一遍,今天再做有点生疏了,总是忘了点什么。于是总结在这儿,一是为以后使用提供方便,再是供大家参考。

首先,新建一个基于对话框的MFC应用程序,添加Tab Control控件,并为其

添加变量CTabCtrl m_tab;

然后,新建两个对话框,均设置属性如下(这步很重要):Style--Child,Border--None;然后分别添加一个文本框。

分别为这两个对话框建立新类CPage1和CPage2。

该程序用了一个CDialog的指针数组来进行保存各个页面,数组的大小是Tab Control页面的个数,数组下标对应着每个页面的索引(这样方便快速存取)。声明变量:CDialog *pDialog[2],并且添加一个int型变量用于保存当前活动的页面索引,int m_CurSelTab;

接着,在OnInitDialog函数中添加如下代码:

//为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;

m_page1.MoveWindow(&rc);

m_page2.MoveWindow(&rc);

//用数组把对话框对象指针保存起来

pDialog[0] = &m_page1;

pDialog[1] = &m_page2;

//显示初始页面

pDialog[0]->ShowWindow(SW_SHOW);

pDialog[1]->ShowWindow(SW_HIDE);

//保存当前选择

m_CurSelTab = 0;

这样就可进行正常的显示了,如果响应页面切换这个事件,可以为Tab Control

控件添加消息响应函数:OnSelchangeTab,并在该函数中添加如下代码:

//得到页面的数据

CString str;

if(m_CurSelTab==0)

{

m_page1.UpdateData(TRUE);

m_page1.GetDlgItem(IDC_EDIT_PAGE1)->GetWindowText(str);

}

if(m_CurSelTab==1)

{

m_page2.UpdateData(TRUE);

m_page2.GetDlgItem(IDC_EDIT_PAGE2)->GetWindowText(str);

}

MessageBox(str);

//首先我们先把当前的页面隐藏起来,然后得到新的页面索引,最后就把相关页面显示出来即可。这比一个个去枚举简单多了。

pDialog[m_CurSelTab]->ShowWindow(SW_HIDE);

m_CurSelTab = m_tab.GetCurSel();

pDialog[m_CurSelTab]->ShowWindow(SW_SHOW);

经过这几步处理,一个简单的Tab Contrl控件应用程序就完成了。

=====================================

VC++ 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, 分别是三个子对话框的实例. 代码如下:

CResult m_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类添加成员函数int GetParaValue() 代码如下:

int CPara1::GetParaValue()

{

return m_nPara1;

}

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

int CPara2::GetParaValue()

{

return m_nPara2;

}

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

void CResult::SetResultValue(int nResult)

{

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客户区大小

CRect rs;

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) ,函数体代码如下:

int CurSel = 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:

;

}

网上介绍使用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, 分别是三个子对话框的实例. 代码如下:

CResult m_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类添加成员函数int GetParaValue() 代码如下:

int CPara1::GetParaValue()

...{

return m_nPara1;

}

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

int CPara2::GetParaValue()

...{

return m_nPara2;

}

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

void CResult::SetResultValue(int nResult)

...{

m_nResult = nResult;

}

八爪鱼验证码登陆-控件识别方法(7.0版本)

https://www.doczj.com/doc/2f4608884.html, 八爪鱼验证码登陆-控件识别方法(7.0版本) 本文给大家演示登陆界面有验证码或者其他验证(如滑块验证)的网站通过八爪鱼控件识别进行数据采集的方式。 所讲示例采集数据网址为/login.aspx 小贴士:通过八爪鱼的控件进行识别,这种方式如果需要自动识别,就需要购买验证码套餐,如果不购买也只能进行单机采集然后手动输入,注意这种方法只能是输入验证码的框才可以用这种方式。 步骤1 登陆八爪鱼7.0采集器→点击新建任务→自定义采集,进入到任务配置页面:然后输入网址→保存网址,系统会进入到流程设计页面并自动打开前面输入的网址。 验证码登陆-控件识别方法-图1:输入网址

https://www.doczj.com/doc/2f4608884.html, 接下来步骤是输入用户名密码了,八爪鱼模拟的是人的操作行为,所以这一步过程也很简单 步骤2 在浏览器中鼠标点击用户名输入框→在右边弹出的提示里面选择“输入文字”→输入自己的用户名→选择“确定”。 同样的方式输入密码,这样输入用户名密码的步骤就完成了。 验证码登陆-控件识别方法-图2:输入密码

https://www.doczj.com/doc/2f4608884.html, 验证码登陆-控件识别方法-图3:输入密码 这里八爪鱼采集器需要知道 1.验证码图片在哪里 2.输入框验证码的框在哪里 步骤3 点击下方浏览器中验证码图片的位置→按照提示框中的提示选择浏览器中的验证码框→再按照提示框中的提示点击浏览器中的登陆按钮

https://www.doczj.com/doc/2f4608884.html, 验证码登陆-控件识别方法-图4:点击验证码输入框

https://www.doczj.com/doc/2f4608884.html, 验证码登陆-控件识别方法-图5:点击验证码图片位置、登录按钮 接下来需要配置验证码输入失败和成功的两种场景 步骤4 点击提示框中的确认按钮,系统会自动提交一个错误的验证码→然后点击浏览器中的“验证码不正确”提示→再点击提示框中的确认按钮→选择提示框中的“开始配置识别成功场景”→在提示框中输入显示出来的验证码→选择提示框中的“应用到网页并完成配置”选项

各种控件的详细使用介绍

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

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

实验2. ASPNet验证控件

实验编号:02 四川师大Web程序设计实验报告 2015年12月26日 计算机科学学院级 4 班实验名称https://www.doczj.com/doc/2f4608884.html,验证控件 姓名:沙夫都学号:2013110431 指导老师:徐勇实验成绩: 97 实验二https://www.doczj.com/doc/2f4608884.html,验证控件 一.实验目的及要求 使用https://www.doczj.com/doc/2f4608884.html,验证控件制作一个简单的用户注册页面。 二.实验内容 1.使用https://www.doczj.com/doc/2f4608884.html,验证控件制作一个简单的用户注册页面。 2.注册页面中有用户名、密码、重复密码、年龄、电子邮件等必填项。其中密码需要二次 验证,年龄范围在1~100之间,电子邮件符合规范。 三.实验主要流程、基本操作或核心代码、算法片段(该部分如不够填写,请另加附页) <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>

vf题库 表单 操作题讲解..

表单操作题 1 设计一个名为Frm01的表单,表单的控件名和文件名均为Frm01。表单的形式如下图所示。要求如下: 1. 表单标题为"零件供应情况",表格控件为Grid1,命令按钮"查询"为Command1、"退出"为Command2,标签控件Label1 和文本框控件Text1(程序运行时用于输入工程号)。 2. 运行表单时,在文本框中输入工程号,单击"查询"命令按钮后,表格控件中显示相应工程所使用的零件的零件名、颜色和重量(通过设置有关"数据"属性实现),并将结果按"零件名"升序排序存储到pp.dbf文件。 单击"退出"按钮关闭表单。 答题要求: (1)将表格的recordsourcetype属性设为“0” (2)查询的单击事件: 使用select语句,将查询结果存到一个表pp.dbf中,然后再将表格grid1的recordsource属性设为"pp" (3)表单备注文件不能删除 查询按钮代码: SELECT 零件.零件名, 零件.颜色, 零件.重量; FROM 供应零件!供应INNER JOIN 供应零件!零件; ON 供应.零件号= 零件.零件号; WHERE 供应.工程号= thisform.text1.value; ORDER BY 零件.零件名; INTO TABLE pp.dbf thisform.grid1.recordsource=null &&这句话可以删除 thisform.grid1.recordsource="pp" thisform.grid1.refresh thisform.refresh 3 求1到100以内的奇数,单击"计算"按钮后,首先清除列表框中原先的内容,然后显示结果,单击"退出"按钮后退出表单。表单文件名为Frm03.scx。 要求: 1.窗体命名为frm03.scx(表单备注文件不能删除) 2.窗体的标题为:求100以内的奇数 3.命令按钮"计算"(名称为command1),"退出"(名称为command2) 4.列表框名称为list1 5.判断一个数是否为奇数使用语句“i%2<>0”,即i除2不等于0 6.列表框中增加一项使用语句“additem(str(i))” 7.要求使用for循环语句 8.退出表单用release语句 计算按钮的代码: thisform.list1.clear

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

MSFlexGrid控件属性及使用方法整理 ================================================= MSFlexGrid总行数和总列数的定义: MSFlexGrid1.Rows = 5 '规定表格的总行数为5行 MSFlexGrid1.Cols = 2 '规定表格的总列数为2行 MSFlexGrid某一单元格的文本内容 MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) ="https://www.doczj.com/doc/2f4608884.html, " 定义第3行第2列的文本内容为:“https://www.doczj.com/doc/2f4608884.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

验证控件和正则表达式

第10章验证控件 RequiredFieldDemo.aspx页面:

请选择部门: 【--请选择部门--】 业务部 后勤部 财务部
请输入城市:

写一个框架的详细步骤

定位 所谓定位就是回答几个问题,我出于什么目的要写一个框架,我的这个框架是干什么的,有什么特性适用于什么场景,我的这个框架的用户对象是谁,他们会怎么使用,框架由谁维护将来怎么发展等等。 如果你打算写框架,那么肯定心里已经有一个初步的定位,比如它是一个缓存框架、Web MVC框架、IOC框架、ORM/数据访问框架、RPC框架或是一个用于Web开发的全栈式框架。 是否要重复造轮子?除非是练手项目,一般我们是有了解决不了问题的时候才会考虑不使用既有的成熟的框架而重复造轮子的,这个时候需要列出新框架主要希望解决什么问题。有关是否应该重复造轮子的话题讨论了很多,我的建议是在把问题列清后进行简单的研究看看是否可以通过扩展现有的框架来解决这个问题。一般而言大部分成熟的框架都有一定的扩展和内部组件的替换能力,可以解决大部分技术问题,但在如下情况下我们可能不得不自己去写一个框架,比如即使通过扩展也无法满足技术需求、安全原因、需要更高的生产力、需要让框架和公司内部的流程更好地进行适配、开源的普适框架无法满足性能需求、二次开发的成本高于重新开发的成本等等。 主打轻量级?轻量级是很多人打算自己写一个新框架的原因,但我们要明白,大部分项目在一开始的时候其实都是轻量级的,随着框架的用户越来越多,它必定需要满足各种奇怪的需求,在经过了无数次迭代之后,框架的主线流程就会多很多扩展点、检测点,这样框架势必变得越来越重(从框架的入口到框架的工作结束的方法调用层次越来越多,势必框架也就越来越慢),如果你打算把框架定位于一个轻量级的框架的话,那么在今后的迭代过程中需要进行一些权衡,在心中有坚定的轻量级的理念的同时不断做性能测试来确保框架的轻量,否则随着时间的发展框架可能会越来越重进而偏离了开始的定位。 特性?如果你打算写一个框架,并且只有轻量级这一个理由的话,你或许应该再为自己的框架想一些新特性,就像做一个产品一样,如果找不出两个以上的亮点,那么这个产品不太可能成功,比如你的新框架可以是一个零配置的框架,可以是一个前端开发也能用的后端框架。其它?一般来说框架是给程序员使用的,我们要考虑框架使用的频度是怎么样的,这可能决定的框架的性能需求和稳定性需求。还有,需要考虑框架将来怎么发展,是希望走开源路线还是商业路线。当然,这些问题也可以留到框架有一个大致的结构后再去考虑。 我们来为本文模拟一个场景,假设我们觉得现有的Spring MVC等框架开发起来效率有点低,打算重复造轮子,对于新框架的定位是一个给Java程序员使用的轻量级的、零配置的、易用的、易扩展的Web MVC框架。 调研 虽然到这里你已经决定去写一个框架了,但是在着手写之前还是至少建议评估一下市面上的类似(成熟)框架。需要做的是通读这些框架的文档以及阅读一些源码,这么做有几个目的:

web实验 - 验证控件

南京信息工程大学Web技术与应用实验(实习)报告 实验(实习)名称验证控件实验(实习)日期2012-12-12 得分指导老师 系计软院专业软工班级 2 姓名夏丽丽学号20121344081 一、实验目的 1.熟悉验证控件的常用属性; 2.熟悉常用验证控件; 3.掌握验证控件的使用 二、实验内容与步骤 1、使用RequiredFieldValidator控件,对用户输入用户名进行验证,要求用户名不能为空:程序运行界面: (以下是部分代码)
3.使用CompareValidator控件,对用户输入的密码进行验证,要求用户名两次输入的密码必须一致:
4.使用CustomValidator控件,设计用户自定义验证,验证用户输入数字是不是偶数:

控件使用

、控件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.doczj.com/doc/2f4608884.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" 响应。

html5表单新控件详解

Html5表单新控件详解 新的表单结构 HTML5中的表单结构变的更加的自由,原先我们在HTML4中所有的表单内容都得在一对form标签中,类似于这样: 在HTML5中表单控件完全可以放在页面任何位置,然后通过新增的form属性指向控件所属表单的id值,即可关联起来。这样我们代码的自由性就会更高了,类似于下面这样:
... 新增type属性 接下来,我们来认识一些新的控件: 1、email输入类型 说明:此类型要求键入格式正确的email地址,否则浏览器是不允许提交的,并会有一个错误信息提示。此类型必须指定name值,否则无效果。 格式: 错误效果展示(Firefox): 图3-1 正确格式展示(Firefox):

图3-2 2.URL输入类型 说明:此类型要求输入格式正确的url地址,否则浏览器是不允许提交的,并会有一个错误信息提示。此类型必须指定name值,否则无效果。 格式: 错误格式展示(Firefox): 图3-3 正确格式展示(Firefox): 图3-4 3.时间日期相关输入类型 说明:时间日期相关输入类型这一系列表单控件给我们提供了丰富的用于日期选择的表单样式,包括年、月、周、日等。只需要一行代码就可以实现交互性非常强的效果,然而遗憾的是目前在Windows下仅有ChromeE和Opera支持。 格式: 效果展示(Chrome): 图3-5

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)、字体:

HTML控件和验证控件

周次:第四周 课时:4课时 课题:HTML控件和验证控件 教学目标及要求: ●使用各种HTML控件 ●理解HTML控件和Web控件的区别 ●使用各种验证控件 ●使用HTML控件、验证控件 重点: ●理解HTML控件和Web控件的区别 ●使用各种验证控件 难点: ●使用各种验证控件 ●使用HTML控件、验证控件 教学方法:采用3W1H方法讲授 教学内容及步骤: 一、引入新课: ●在https://www.doczj.com/doc/2f4608884.html,中,控件分成HTML服务控件和Web服务控件两种 ●所有的https://www.doczj.com/doc/2f4608884.html, Web服务器控件都派生自 System.Web.UI.WebControls 命名空间 ●使用Web服务器控件需要注意AutoPostBack的使用 ●Web 服务器控件可以分为: ●文本输入控件 ●控制权转移控件 ●选择控件 ●容器控件 ●其它专用控件 二、新课: (一)https://www.doczj.com/doc/2f4608884.html, HTML 控件简介 1、HTML 服务器控件是由 https://www.doczj.com/doc/2f4608884.html, 更新的标准 HTML 标签,通过添加 runat=“server” 属性将其用作服务器控件 2、HTML 服务器控件属于 System.Web.UI.HTMLControls 命名空间,派生自HTMLControl 基类 (二)HTML 控件与 Web 控件的区别 1、功能比较: HTML 控件: (1)、比较灵活 (2)、功能较少 (3)、在客户端运行窗体且不需用户结合多种功能时使用 (4)、可用来将ASP应用程序导入https://www.doczj.com/doc/2f4608884.html,Web 控件: (1)、具备多种控件编程功能 (2)、包含大量控件 (3)、在服务器端运行窗体时使用 (4)、具备更加完善的功能来处理存储在数据库中的数据 (5)、可在可视化设计环境中使用

关于提取网页验证码的一些小知识

提取网页验证码 作者:Va杨炼 以前有想过要做一个注册机,或者登陆某个网站,但是这些都需要填写验证码,蛋疼啊!每次都要在自己写的程序里面那个浏览器里面输入,如果浏览器设置小了还要拉滚动条到验证码那输入蛋疼啊,想弄浏览器后台执行也不行啊,再一次蛋疼啊,今天Va杨炼就教大家来做如何提取网页上指定的验证码。 实验材料:TC编译器一个。以及TC编译器上示例上面插件应用—>获取网络验证码 实验对象:TC会员中心(未登陆)传送门:https://www.doczj.com/doc/2f4608884.html,/login.aspx?return=http%3a%2f%https://www.doczj.com/doc/2f4608884.html,%2findex.aspx 实验结果: 那么下面就开始吧:

第一步 : 首先,咱先新建一个项目,并且在该项目上加上一个浏览器,这是作者自己的。 第二步:添加初始化消息事件,并编写一段跳转至TC会员登陆中心的源代码。 咱写添加一个消息事件,也就是初始化,不知道如何添加这个初始化事件的,你就问问高手吧,我表达能力有限,我也不知从何说起,在这作者就不细说了,现在可以先撸一段代码了。 代码: 功能初始化() 网页.转到("浏览器0","https://www.doczj.com/doc/2f4608884.html,/login.aspx?return=http%3a%2f%https://www.doczj.com/doc/2f4608884.html,%2findex.aspx") 功能结束 效果图: (小提示:这里面填写的网址就是TC会员中心的登陆网址哦!如果登陆了请先退出哈。我想你不会傻逼到问我为什么要退出吧 = =..?那我就傻逼的回答你,你他妈不退出哪来登陆?抱歉骂流话了…….) 好了现在咱下F5运行咱的脚本看看效果.

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

DevExpress基础验证控件

DevExpress 的验证控件 分类:DevExpress2012-08-09 23:44 975人阅读评论(1) 收藏举报1. DXErrorProvider:错误提示控件,用法类似于VS的winform控件中的ErrorProvider。 下面为一个使用实例,验证文本框输入是否为数字: ①.添加System.Text.RegularExpressions引用。 ②.在设计视图上拖一个textEdit控件textEdit1。 ③.验证输入是否为数字,不是显示错误提示。 [html]view plaincopyprint? 1.public bool IsNumeric(string sNumeric) 2.{ 3. return (new Regex("^[\\+\\-]?[0-9]*\\.?[0-9]+$")).IsMatch(sNumeric) ; 4.} 5.private void simpleButton1_Click(object sender, EventArgs e) 6.{ 7. InitValidationRules(); 8. dxErrorProvider1.ClearErrors(); 9. if (IsNumeric(this.textEdit1.Text)==false) 10. { 11. dxErrorProvider1.SetError(textEdit1, "输入要为数字! ");//DXErrorProvider.SetError(验证的控件,错误提示) 12. } 13.} 2.DxValidationProvider:验证控件,类似于VS的web控件中的"验证控件" 下面为DxValidationProvider使用实例: ①.添加DevExpress.XtraEditors.DXErrorProvider引用。 ②.在设计视图上拖两个textEdit控件textEdit2和textEdit3。 ③.实现验证textEdit2不可为空,textEdit3输入值在0-100之间: [csharp]view plaincopyprint? 1.private void InitValidationRules() 2.{ 3. ConditionValidationRule notEmptyValidationRule = new ConditionVal idationRule(); 4. notEmptyValidationRule.ConditionOperator = ConditionOperator.IsNo tBlank;//验证条件 5. notEmptyValidationRule.ErrorText = "此栏不能为空!";//提示信息

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

呼叫中心坐席端控件(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

VB练习1讲解

1.下面数组声明语句中,数组包含元素个数为 ________。 Dim a(-3 to 2,5) A.120 B.30 C.60 D.36 2.有如下程序代码,输出结果是________。 Dim a() a=Array(1,2,3,4,5) for i=Lbound(a)to Ubound(a) print a(i); next i A.1 2 3 4 5 B.0 1 2 3 4 C.5 4 3 2 1 D.4 3 2 1 0 3.假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是________。 A.数组中每个命令按钮的名称(名称属性)均为Command1 B.数组中每个命令按钮的标题(Caption属性)都一样 C.数组中所有命令按钮可以使用同一个事件过程 D.用名称Command1(下标)可以访问数组中的每个命令按钮 4.在设定Option Base 1后,经Dim arr(3,4)As Integer 定义的数组arr含有的元素个数为________。 A.12 B.20 C.19 D.9 5.有如下程序代码,输出结果是________。 Dim a(-3 to 6,5) n=Lbound(a,2) print n A.-3 B.0 C.6 D.5 6.有如下程序代码,输出结果是________。 Dim a(-3 to 6,5) n=Ubound(a,1) print n A.-3

B.0 C.6 D.5 7.要获知当前列表项的数目,可通过________属性实现。 A.List B.ListCount C.ListIndex D.Text 8.根据需要用________可以重新确定动态数组的大小。 A.ReDim B.Dim C.Static D.Public 9.用ReDim不可以改变动态数组的________。 A.大小 B.类型 C.维数 D.下标值 10.可以通过修改控件数组中的控件的________属性值改变其在数组中的顺序。 A.Font B.Caption C.Index https://www.doczj.com/doc/2f4608884.html, 11.用来设置斜体字的属性是 ________。 A.FontBold B.FontItalic C.FontName D.FontSize 12.复选框的Value 属性为 2时,表示 ________。 A.复选框未被选中 B.复选框被选中 C.复选框呈灰色不可用 D.复选框操作有误 13.下列控件中没有Caption属性的是 ________。 A.框架 B.列表框 C.复选框 D.单选按钮 14.滚动条产生Change事件是因为 ________值改变了。

组态王视频控件使用方法

组态王视频控件使用方法 第一步建立一个组态王工程; 第二步建立一个新画面; 第三步添加视频控件’具体步骤如下: 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();

为什么我的验证码图片显示不出来

为什么我的验证码图片显示不出来 安装XP SP2后,大多数用户发现在访问某些需要填写验证码的地方,都无法显示验证码图片(显示为一个红色小X),这是Microsoft Windows XP操作系统的一个非常严重的Bug。解决办法为:运行“Regedit”命令打开注册表编辑器,依次定位到“[HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ Security]”,在窗口右边新建一个名为“BlockXBM”的REG_ DWORD值,将其值设置为“0”(十六进制值),默认值就行。 详细步骤: ①点“开始”选择“运行”填入“Regedit”后点“确定”命令打开注册表编辑器; ②依次定位到“[HKEY_ LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ Security]”; ③在窗口右边右击选择“新建”“DWORD值”,然后把“名称”重命名为“BlockXBM”,“类型”默认为“REG_ DWORD”,默认值应为“0x00000000(0)”, ④点“文件”选择“退出”,重启IE就ok了! 大多数用户发现在访问某些需要填写验证码的地方,都无法显示验证码图片。解决办法有: 方法1、 原因是你的阻挡了所有网站COOKIES,导致对方无法读取你的COOKIES,所以无法显示验证码图框。另外有些网站的验证码采用FLASH形式显示,这要装Adobe Flash Player ActiveX插件的,不安装可能都是显示“X”。 IE7 在很多情况下并不会提醒用户安装Flash ActiveX 控件,用户往往在使用很长一段时间之后,才会突然被提示需要安装Flash 控件,访问Adobe 网站在线安装时,也会由于无法显示验证码不能安装,鉴于这个问题,大家可以安装Adobe Flash Player ActiveX 控件的独立安装程序。 首先: 打开IE浏览器→工具→Inter选项→隐私(设置为中)→确定,保存退出 打开IE浏览器→工具→Inter选项→高级→在“显示图片”的框框打√,或直接“恢复默认值”。 再下载Adobe Flash Player ActiveX控件(请使用右键迅雷下载)进行独立安装,然后重启电脑。 方法2、 开始->运行,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(不包含双引号),然后点击确定,如果在注册时出现“已加载c:\windows\system32\pngfilt.dll,但没有找到DllRegisterSever 输入点,无法注册这个文件”,则表明这个文件可能损坏了 你要去别的机子去Copy一个好的过来(也可以来这个网站下载:),再进行一次注册,即:开始->运行,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(不包含双引号),如果出现“c:\windows\system32\pngfilt.dll 中的DllRegisterServer 成功”,说明问题已经解决了。 如果在覆盖“pngfilt.dll”文件时,提示“无法复制PNGFILT:文件正被另一个人或程序使用。关闭任何可能使用这个文件的程序,重新试一次。”,就把“c:\windows\system32\pngfilt.dll”这个文件用文件粉碎机粉碎掉,然后把新的“pngfilt.dll”文件粘贴过来就OK了!

相关主题
文本预览
相关文档 最新文档
用户注册
用户名: