vc用法总结

2024-04-12

vc用法总结(共8篇)

篇1:vc用法总结

VC中静态控件的特殊用法

【摘要】 本文将通过示例程序来介绍Visual C 6.0静态控件的一些特殊用法 【关键词】Visual C 静态控件 图标 位图

使用Visual C 6.0编制软件时,静态控件是最常用的控件之一。一般情况下,静态控件用作那些没有固定标题文本属性的控件(如文本编辑控件、列表框等)的标签,或者用来为控件分组,或者用来显示一些提示性的文件。实际上,静态控件除了显示静态文本这一基本功能外,还有许多其他的特殊功能,如在静态控件中可以显示图标、位图,甚至还可以在静态控件中显示动画。本文将通过示例程序来介绍静态控件的这些特殊用法。

显示图标

⑴ 使用AppWizard创建一个基于对话框的MFC应用程序,设置其工程名为ShowIco。

⑵ 在对话框上增加一个静态控件。需要注意的是,有资源管理器添加的`静态控件在默认情况下其ID均为IDC_STATIC,因此,如果需要在程序中区分和操纵各个不同的静态控件,一般情况下,需要更改新添加的静态控件的ID值。这里将静态控件的ID值设置为IDC_SHOWICO。

⑶ 在资源管理器中添加图标资源,其ID为IDI_ICON1。

⑷ 使用ClassWizard添加WM_INITDIALOG消息处理函数OnInitDialog。

⑸ 在OnInitDialog函数中下面的代码:

//获得指向静态控件的指针

CStatic *pStatic=(CStatic *)GetDlgItem(IDC_SHOWICO);

//加载图标

HICON hIcon=AfxGetApp->LoadIcon(IDI_ICON1);

//设置静态控件的样式,使其可以使用图标,并试图标显示使居中

pStatic->ModifyStyle(0xF,SS_ICON|SS_CENTERIMAGE);

//设置静态控件图标

pStatic->SetIcon(hIcon);

运行该程序,显示如图1所示。

图1 使用静态控件显示图标

2.显示位图

⑴ 使用AppWizard创建一个基于对话框的MFC应用程序,设置其工程名为ShowBmp。

⑵ 在对话框上增加一个静态控件,将静态控件的ID值设置为IDC_SHOWBMP。

⑶ 在资源管理其中添加位图资源,其ID为IDB_INFO。

⑷ 使用ClassWizard添加WM_INITDIALOG消息处理函数OnInitDialog。

⑸ 在OnInitDialog函数中下面的代码:

//获得指向静态控件的指针

CStatic *pStatic=(CStatic *)GetDlgItem(IDC_SHOWBMP);

//获得位图句柄

HBITMAP Bitmap=::LoadBitmap(AfxGetApp()_hInstance,

MAKINTRESOURCE(IDB_INFO));

//设置静态控件的样式,使其可以使用位图,并试位标显示使居中

pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);

//设置静态控件显示位图

pStatic->SetBitmap(hBitmap);

运行该程序即可。

显示动画

编写一个字符串在静态控件中不停的移动的程序。

使用AppWizard创建一个基于对话框的MFC应用程序,设置其工程名为ShowAnimation。 在对话框上增加一个静态控件。将静态控件的ID值设置为IDC_PREVIEW。 使用ClassWizard添加WM_INITDIALOG消息处理函数OnInitDialog和WM_TIMER的消息处理函数OnTimer。

⑷ 在CshowAnimationDlg类中,增加两个变量m_x和m_y,用以表示字符串的坐标。

⑸ 在OnInitDialog函数中添加下列代码:

m_x=0;

m_y=0;

KillTimer(1);

VERIFY(SetTimer(1, 500, NULL) != 0);

在CshowAnimationDlg类中,增加一个成员函数Draw()如下:

void CshowAnimationDlg::Draw()

{

CWnd *pWnd=GetDlgItem(IDC_PREVIEW);

CDC *pDC=pWnd->GetDC();

RECT rect;

pWnd->GetClientRect(&rect);

pWnd->Invalidate();

pWnd->UpdateWindow();

pDC->SelectStockObject(BLACK_BRUSH);

pDC->Rectangle(0,0,rect.right,rect.bottom);

pDC->SetTextColor(RGB(255,0,0));

pDC->SetBkColor(RGB(0,0,0));

if((m_x>=rect.right)||(m_y>=rect.bottom-20))

{ m_x=0;

m_y=0;

}

pDC->TextOut(m_x,m_y,“动画”);

}

在OnTimer函数中,添加如下代码:

if (nIDEvent == 1)

{

m_x =5;

m_y =5;

Draw();

}

else CWnd::OnTimer(nIDEvent);

运行该程序,显示如图2所示。

图2在静态控件中显示动画

篇2:vc用法总结

vc++如何实现远程调试

*假设调试机IP 192.168.0.182 远程机IP 192.168.0.161

*远程机为调试机分配权限,使调试机可以使用远程桌面登陆到远程机器上(这样调试起来方便)。

*调试机上安装visual studio.net 2003

共享调试机上的Visual Studio上的远程调试目录(以我的机器为例)

C:Program FilesMicrosoft Visual Studio.NET

2003Common7PackagesDebugger

*远程机将上面的共享目录考贝到本地,比如:d:Debugger

*调试机共享要调试的程序所在目录,比如:

D:importantcvsrootdv-to-dvdbindebug

*远程机将调试机上的目录影射为本地目录。比如:Z:

*远程机上以命令行形式执行 D:Debuggermsvcmon.exe –tcpip –anyuser

*调试机启动vc.打开要调试的工程。比如dvtodvd.选择菜单project->properties 选debuging->remote setting

Connection :Remote via TCP/IP(Native only)

Remote machine: 192.168.0.161

Remote Command: z:dvtodvd.exe

*debug->start

*就可以调试了。

1.如何在Release状态下进行调试

Project->Setting=>ProjectSetting 对话框,选择Release状态。C/C++标签中的Category选General,Optimizations选 Disable(Debug),Debut info选Program Database。在Link标签中选中Generate debug info复选框。

注:只是一个介乎Debug和Release的中间状态,所有的ASSERT、VERIFY都不起作用,函数调用方式已经是真正的调用,而不查表,但是这种状态下QuickWatch、调用队列跟踪功能仍然有效,和Debug版一样。

2.Release和Debug有什么不同

Release版称为发行版,Debug版称为调试版。

Debug中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release版运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。Release 的exe文件链接的是标准的MFC DLL(Use MFC in a shared or static dll)。这些DLL在安装Windows的时候,已经配置,所以这些程序能够在没有安装Visual C++ 6.0的机器上运行。而Debug版本的exe链接了调试版本的MFC DLL文件,在没有安装Visual C++6.0的机器上不能运行,因为缺相应的DLL,除非选择use static dll when link。

3.ASSERT和VERIFY有什么区别

ASSERT里面的内容在Release版本中不编译,VERIFY里面的内容仍然翻译,但不再判断真假。所以后者更安全一点。

例如ASSERT(file.Open(strFileName))。

一旦到了Release版本中,这一行就忽略了,file根本就不Open()了,而且没有任何出错的信息。如果用VERIFY()就不会有这个问题。

4.Workspace和Project之间是什么样的关系

每个Workspace可以包括几个project,但只有一个处于Active状态,各个project之间可以有依赖关系,在project的Setting..中可以设定,比如那个Active状态的project可以依赖于其他的提供其函数调用的静态库。

5.如何在非MFC程序中使用ClassWizard

在工程目录下新建一个空的.RC文件,然后加入到工程中就可以了。

6.如何设置断点

按F9在当前光标处增加一个断点和取消一个断点。

另外,在编辑状态下,按Ctrl+B组合键,弹出断点设置对话框。然后单击【Condition…】按钮弹出设置断点条件的对话框进行设置。

7.在编辑状态下发现成员变量或函数不能显示提示是如何打开显示功能

这似乎是目前这个Visual C++ 6.0版本的一个bug,可按如下步骤使其正常,如再出现,可如法炮制:

(1)关闭Project

(2)删除“工程名.ncb”文件

(3)重新打开工程

8.如何将一个通过ClassWizard生成的类彻底删除

首先在工作区的FileView中选中该类的.h和.cpp文件,按delete删除,然后在文件管理器中将这两个文件删除,再运行ClassWizard,这时出现是否移走该类的提示,选择remove就可以了。

9.如何将在workspace中消失的类找出来

打开该类对应的头文件,然后将其类名随便改一下,这个时候工作区就会出现新的类,再将这个类改回原来的名字就可以了。

10.如何清除所有的断点

菜单【Edit】->【Breakpoints…】,打开“Breakpoints”对话框,单击【Remove All】按钮即可。快捷键是“Ctrl + Shift + F8”。

11.如何再ClassWizard中选择未列出的信息

打开“ClassWizard”对话框,然后切换到“Class Info”页面。改变“Message filter”,如选择“Window”,“Message”页面就会出现Window的信息。

12.如何检测程序中的括号是否匹配

把光标移动到需要检测的括号前面,按快捷键“Ctrl + ]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告。

13.如何查看一个宏(或变量、函数)的定义

把光标移动到要查看的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的相关菜单),如果没有建立浏览文件,就会出现提示对话框,按【确定】按钮,然后就会跳到该宏(或变量、函数)定义的地方。

14.如何添加Lib文件到当前工程

单击菜单【Project】->【Settings…】弹出“Project Setting”对话框,切换到“Link”标签页,在“Object/library modules”处输入Lib文件名称,不同的Lib之间用空格格开。

15.如何快速删除项目下的Debug文件夹中临时文件

在工作区的FileView视图中选中对应的项目,单击右键弹出菜单,选择【Clean(selection only)】菜单即可。

16.如何快速生成一个现有工程除了工程名外完全相同的新工程

在新建工程的“New”对话框中选择“Custom Appwizard”项,输入新工程的名字,单击

【OK】按钮。出现“Custom AppWizard”项,输入新工程的名字,单击【OK】按钮。出现“Custom AppWizard-Step 1 of 2”对话框,选择“An existing Project”项,单击

【Next】按钮。出现“Custom AppWizard-Step 2 of 2”对话框,选择现有工程的工程文件名,最后单击【Finish】按钮。编译后就生成一个与现有工程相同但可以重新取名的工程AppWizard。

现在就可以项用MFC AppWizard一样用这个定制的向导。如果不想用了,可以在Visual C++ 6.0安装目录下CommonMSDev98Template目录中删除该Wizard对应的.awx和.pdb文件。

17.如何解决Visual C++ 6.0不正确连接的问题

情景:明明改动了一个文件,却要把整个项目全部重新编译链接一次。刚刚链接好,一运行,又提示重新编译链接一次。

这是因为出现了未来文件(修改时间和创建时间比系统时间晚)的缘故。可以这样处理:找到工程文件夹下的debug目录,将创建和修改时间都比系统时间的文件全部删除,然后再从新“Rebuild All”一次。

18.引起LNK2001的常见错误都有哪些

遇到的LNK2001错误主要为:unresolved external symbol “symbol”

如果链接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误信息。

一般来说,发生错误的原因有两个:一是所引用的函数、变量不存在,拼写不正确或者使用错误;其次可能使用了不同版本的链接库。以下是可能产生LNK2001错误的原因:

<1>由于编码错误导致的LNK2001错误

(1)不相匹配的程序代码或模块定义(.DEF)文件导致LNK2001。例如,如果在C++源文件了内声明了一变量“var1”,却试图在另一个文件内以变量“var1”访问改变量。

(2)如果使用的内联函数是在.cpp文件内定义的,而不是在头文件内定义将导致LNK2001错误。

(3)调用函数时如果所用的参数类型和头函数声明时的类型不符将会产生LNK2001错误。

(4)试图从基类的构造函数或析构函数中调用虚拟函数时将会导致LNK2001错误。

(5)要注意函数和变量的可公用性,只有全局变量、函数是可公用的。静态函数和静态变量具有相同的使用范围限制。当试图从文件外部方位任何没有在该文件内声明的静态变量时将导致编译错误或LNK2001错误。

<2>由于编译和联机的设置而造成的LNK2001错误

(1)如果编译时使用的是/NOD(/NODERAULTLIB)选项,程序所需要的运行库和MFC时将得到又编译器写入目标文件模块,但除非在文件中明确包含这些库名,否则这些库不会被链接进工程文件。这种情况下使用/NOD将导致LNK2001错误

(2)如果没有为wWinMainCRTStartup设定程序入口,在使用Unicode和MFC时将出现“unresolved external on _WinMain@16”的LNK2001错误信息。

(3)使用/MD选项编译时,既然所有的运行库都被保留在动态链接库之内,源文件中对“func”的引用,在目标文件里即对“__imp__func”的引用。如果试图使用静态库LIBC.LIB或LIBCMT.LIB进行链接,将在__imp__func上发生LNK2001错误。如果不使用/MD选项编译,在使用MSVCxx.LIB链接时也会发生LNK2001错误。

(4)使用/ML选项编译时,如用LIBCMT.LIB链接会在_errno上发生LNK2001错误。

(5)当编译调试版的应用程序时,如果采用发行版模态库进行链接也会产生LNK2001错误;同样,使用调试版模态库链接发行版应用程序时也会产生相同的错误。

(6)不同版本的库和编译器的混合使用也能产生问题,因为新版的库里可能包含早先的版本没有的符号和说明。

(7)在不同的模块中使用内联和非内联的编译选项能够导致LNK2001错误。如果创建C++库时打开了函数内联(/Ob1或/Ob2),但是在描述该函数的相应头文件里却关闭了函数内联(没有inline关键字),只是将得到错误信息。为避免该问题的发生,应该在相应的头文件中用inline关键字标志为内联函数。

(8)不正确的/SUBSYSTEM或ENTRY设置也能导致LNK2001错误。

19.如何调试一个没有源码的exe文件调用的dll

在Visual C++ 6.0中,进入“Project Setting”对话框然后选择Debug标签页。通常Visual Studio默认“executable for debug session”为可执行文件名,但可以将他改成任何你想要的程序。甚至可以指定不同的工作目录以及传递参数到你的程序。这个技术常用来调试Dlls、名字空间扩展、COM对象和其他从某些EXE以及从第三方的EXE中调用的plug-in程序。

20.Visual C++ 6.0工程中的项目文件都表示什么

.opt:工程关于开发环境的参数文件。如工具条位置等信息。

.aps(AppStudio File)资源辅助文件,二进制格式,一般不用去管它。

.clw:ClassWizard信息文件,实际上是INI文件格式,有兴趣可以研究一下。有时候ClassWizard出了问题,手工修改CLW文件可以解决。如果此文件不存在的话,每次用ClassWizard的时候回提示是否重建。

.dsp(DevelopStudio Project):项目文件,文本格式,不过不熟悉的不要手工修改。.dsw(DevelopStudio Workspace):是工作区文件,其他特点和.dsp差不多。

.plg:是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大。在单击菜单【Tool】->【Option】弹出的对话框里面有个选项可以控制这个文件的生成。

.hpj(Help Project):是生成帮助文件的工程,用microsoft Help Compiler可以处理。.mdp(Microsoft DevStudio Project):是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的.dsp格式。

.bsc:是用于浏览项目信息的,如果用Source Brower的话就必须有这个文件。如果不用这个功能的话,可以在Project Options里面去掉Generate Browse Info File,这样可以加快编译速度。

.map是执行文件的映象信息记录文件,除非对系统底层,这个文件一般用不着。.pch(Pre-Compiled File):是与编译文件,可以加快编译速度,但是文件非常大。

.pdb(Program Database):记录了程序有关的一些数据和调试信息,在调试的时候可能有用。

篇3:vc用法总结

一、名词作宾补

动词+名词/代词+名词。常用的动词有:call (称呼) , appoint, name (命名) , leave (使….处于某种状态) , think, find等。如:He named the boy Jack.他给男孩取名叫杰克。We would make him monitor.我们将选他为班长。They appointed him chairman of the committee.他们任命他为委员会主席。

注意:充当宾语补足语的名词若表示正式的或独一无二的头衔、职位时, 前面一般不用冠词。

二、形容词作宾补:表示宾语的状态

动词+名词+形容词。常用的动词有:find, keep, leave, make等。如:He found the film interesting.他发现这部电影有趣。He found the film interesting.他发现这部电影有趣。Can’t you keep the children quiet?你不能让孩子们安静些吗?

三、动词不定式作宾补:表示宾语执行的动作

1.动词+名词/代词+动词不定式, 带to的不定式作宾补。常见的动词有:ask, tell, want, expect, wish, help, order, allow, like, love, teach等词后作宾补的不定式都带to。如: I would like him to come.我愿意让他来。 (like的宾语是him, “him”要发出的动作是to come。“to come”就是him的宾语补足语)

They don’t allow people to smoke in the office.他们允许人们在办公室吸烟。 (动词allow的宾语是people, “people”要发出的动作是to smok.“to smok”就是宾语“people”的宾语补足语)

The teacher asked me to clean the window.老师让我擦洗窗户。

注意:①hope后不能接带to的不定式作宾补, I hoped him to leave. (错误) , 应为:I hoped that he would leave. I wished him to leave. (正确)

②help后面作宾语补足语的动词不定式可以带to也可以不带to。如:I often help my mother (to) do some housework.

2 . 不带t o的不定式作宾补。在感官动词五看 ( s e e , watch, observe, notic, look at) , 两听 (hear, listen to) , 一感觉feel和使役动词:make, have, let等词后作宾补的不定式不带to。如: They saw the boy fall suddenly from tree.他们看见那孩子突然从树上跌下来。I’ll have Tom repair the radio for you. 我让汤姆给你修收音机。

注意:如果上述结构变为被动语态, to不能省略。如:The boy was seen to fall suddenly from the tree.有人看见那孩子突然从树上跌下来。

3.在believe, find, feel, prove, think等动词后面, 不定式作宾补可以接to be 形式。如:We believe her to be innocent.

四、动词+名词/代词+分词

动词+名词/代词+分词 (现在分词v-ing或过去分词pp) , 现在分词作宾补强调宾语正在进行或一直持续的动作, 在逻辑上与宾语构成主动关系。而过去分词作宾补则表示宾语已经完成的动作或存在的状态, 在逻辑上与宾语构成被动关系。常跟分词作宾补的动词有感官动词feel, hear, watch, notice, smell, find等和“使役”或“致使”动词set, have, keep, get, make等。如:When I entered the room, I found him watching Tv.当我进入房间时, 我发现他正在看电视。

注意:在“set”的宾语后通常接现在分词作宾补, 而不用过去分词作宾补。即set sb doing, 而不用set sthe done.但是“make”的宾语后只能用过去分词, 而不能用现在分词。如:His words set me thinking deeply.他的话让我深思。

When you speak, you should make yourself understood. 当你讲话时, 你应该使人家懂得你的意思。

用于感官动词后现在分词与不定式作宾补的区别:现在分词表示观察到整个动作的一部分;用不定式则表示一个动作自始自终的全过程。

I saw the bus getting on the bus. (我看见司机上公共汽车)

I saw the bus driver and drive off. (我看见司机上公共汽车把车看走了)

比较下面的对话:

A: Do you hear the bell ringing at the door?你听见门铃响了吗? (现在分词表示铃响的动作正在进行。)

B:yes, Idid. I heard it ring twice.是的, 我听见门铃响了两下。 (不带to的不定式表示铃响的动作已经完成, 并完成了两次。)

五、动词+名词/代词+介词短语/副词

常用的动词为keep, find, leave等。如:I found the goods in good condition.我发现货物情况良好。 (in good condition是宾语补足语, 说明found的宾语the goods的状态)

六、高考考点分析

1.Let those in need ______ that we will go all out to help them. (2013陕西卷)

A. to understand B. understand

C. understanding D. understood

【解析】从句意上看, 空处表达的是“让某人做某事”, 而let之后的宾语接不定式作宾补的时候, 要省去不定式符号to, 即要用let sb do的形式, 故答案是B。

2.I looked up and noticed a snake ______its way up the tree to catch its breakfast. (2012四川卷)

A. to wind B. wind C. winding D. wound

【解析】此题考查现在分词作宾补。winding its way与宾语snake之间为主动关系且此动作正在进行, 故选选C。

3.Michael put up a picture of Yao Ming beside the bed to keep himself ________ of his own dreams. (2011重庆卷)

A. reminding B. to remind C. reminded D. renmind

【解析】keep sb/sth done/doing/ 表示使某人或某物处于某种状态。句意为Michael在他的床头贴了姚明的照片提醒自己不要忘了自己的梦想。动词Keep的宾语himself与动词renmind之间存在被动关系, 所以选过去分词reminded作宾补。

摘要:在英语中有些及物动词, 接了宾语意义仍不完整, 还需要有1个其他的句子成分, 来补充说明宾语的意义、状态等, 称为宾语补足语, 简称宾补。宾语与其补足语有逻辑上的主谓关系。可以充当宾语补足语的有名词、形容词、动词不定式、分词、介词短语、副词。一般来说, 有宾语补足语的句型结构为:动词+名词/代词+宾补。

篇4:定语后置用法总结

一、表示度量的短语修饰名词时应后置

a river five metres wide

一条五米宽的河

a boy sixteen years old

一个十六岁的男孩

注:当这类词组作定语放在名词前时,表示量的名词应用单数形式,且数词与量词之间应加上连词符号“-”。上述例子可改写为:a five-metre-wide river, a sixteen-year-old boy。

二、介词短语作定语时应后置

The boy in the room is my brother.

屋里的男孩是我弟弟。

He lives in a tall building in the city of Shanghai.

他住在上海的一幢高楼里。

三、副词here,there,home,

downstairs,upstairs,below,above等作

定语时应后置

The boys there are reading English.

那边的男孩正在读英语。

The man downstairs can’t sleep well.

楼下的那个人睡不好。

四、两个以上由并列连词连接的形容词修饰一个名词时,应放在后面

He is a teacher, both kind and strict.

他是一个既和蔼又严格的老师。

They lived in a house, clean and bright.

他们住在一个干净明亮的房子里。

五、形容词短语作定语时要后置

They saw many bags full of apples.

他们看到许多装满苹果的袋子。

There are a lot of things too far away to see in the sky.

天空中有许多太远看不到的东西。

六、形容词修饰不定代词(如

something,nothing,anything,everything,somebody,anyone等)时,要后置

He will tell us something interesting.

他将告诉我们一些有趣的事情。

There is nothing new in the room.

房间里没有什么新东西。

七、分词短语作定语时要后置

The boy called Tom is in Class One.

那个名叫汤姆的男孩在1班。

These girls sitting under the tree are my friends.

那些坐在树下的女孩是我的朋友。

八、enough,last,next,nearby等作定语时,既可放在所修饰的词之前,也可放在后面

He has enough money(money enough) to buy a car.

他有足够的钱买一辆汽车。

We often go fishing in the river nearby(the nearby river).

我们常去附近的小河钓鱼。

九、else修饰疑问词或不定代词时应后置

What else did he say?

他还说了些什么?

He is taller than anyone else in his class.

他是班里个子最高的。

十、動词不定式作定语时应后置

We have much work to do.

我们有许多活要干。

The best time to come to China is in spring.

来中国的最好时间是春季。

十一、定语从句要后置

He is the man who I am looking for.

他就是我正在找的那个人。

This is the lesson that we should remember.

篇5:vc用法总结

1. 使VC6.0编译出使用系统风格的程序

(1) 创建一个.manifest文件的资源。

在res/文件夹下创建一个跟以程序名加.manifest的文件, 如果程序为test.exe, 则创建test.exe.manifest文件内容如下:

(2) 将新定义的资源加入到.rc文件中, 类型设为24。

打开res/文件夹下的.rc2文件, 在其中加入如下定义:

其中的文件地址按 (1) 中修改的设置即可。

(3) 将新加入的资源包含到resource.h文件中, ID设定为1。

在resource.h文件中加入如下一行:

#define MANIFEST_RESOURCE_ID 1

之后编译即可, 为了使程序界面能充分利用系统的界面特性, 将界面字体设置为TrueType类型的, 利用Windows XP等系统的屏幕字体平滑特性。

2. 使VC2008编译出使用系统风格的程序

在VC2008下就比较简单了, 如果程序字符集使用unicode则默认就是使用系统界面风格的, 如果选择其他的类型, 则编辑stdafx.h即可。

最后面部分代码如下:

修改为如下代码即可:

最后是两张截图的比较, 图1为默认设置下的界面风格, 图2为经过修改后的界面风格。

篇6:强调句型用法总结

一、强调句型的基本结构:It is/was+被强调成分+that/who+其余成分

【说明】1.强调句型能强调除谓语之外的任何成分,强调谓语要用do/did/does+动词原形。2.如果被强调部分所在的句子是一般现在时, 就用is; 如果是一般过去时,则用was。3.如果被强调部分是“人”,一般用who, 但也可用that; 如果被强调部分是“人”以外的“事/物”等,仅能用that。例如:

It was because he fell ill that he was absent from class this morning.

真的是由于他病了,所以今天早上没有上课。

It is I who/that am to blame for the accident.

由于这场事故,肯定是我要受到谴责。

It is an English composition that Mary is writing now.

玛丽现在正在写的的确是一篇英语作文。

二、判断是不是强调句型的标准:如果把句中的“It is/was”和“that/who”同时去掉,句子成分不残缺,句意完整,就是强调句型,否则,就不是。例如:

It was at eight that he got up. (强调句型) 他是在八点起床的。

It was a surprise that John got full marks in the English test.(不是强调句型)

约翰在这次英语测验中得了满分是一件吃惊的事。

三、强调句型的否定句、一般疑问句和特殊疑问句:

否定句为:It is/was+not+被强调成分+that/who+其余成分.

一般疑问句为:Is/Was it+被强调成分+that/who+其余成分?

特殊疑问句为:特殊疑问词+is/was it that+其余成分? 例如:

It is not only blind men who made such stupid mistakes.

不仅仅是盲人犯了如此愚蠢的错误。

Is it the girl in red who is your sister? 那个穿红衣服的女孩真的是你的姐姐吗?

Where was it that you found your wallet? 你究竟在什么地方找到了你的钱夹?

四、若对“not…until…”中的“until…”进行强调时,“not”必须置于“until…”之前,即形成了如下结构:“It is/was not until…+that+其余成分”。例如:

It was not until eleven o’clock that I came back. 直到11点我才回来。

It was not until she spoke that I had realized she was foreign.

的确直到她说话我才意识到她是外国人。

五、强调句型与相关句型的辨析:

1.与定语从句的辨析

①It is in the place that they knew each other. 正是在这个地方,他们彼此认识。

②It is the place where they knew each other. 这是他们彼此认识的地方。

分析:句①是强调句型,强调的是地点状语in the place, 若去掉It is和that, 剩余部分成分不残缺,句意完整。句②划线部分是定语从句, 修饰先行词the place, where引导定语从句并且在从句中作地点状语,不可换成that/which。

2.与状语从句的辨析

①It was at 12:00 a.m. that Jack came to visit me. 杰克是在上午十二点来看我的。

②It was 12:00 a.m. when Jack came to visit me. 当杰克来看我的时候是上午十二点。

分析:句①是强调句型,强调的是时间状语at 12:00 a.m., 若去掉It was和that, 剩余部分成分不残缺,句意完整。句②划线部分是时间状语从句。

3.与主语从句的辨析

①It is the museum that I will pay a visit to. 那正是我将要参观的博物馆。

②It is true that I will pay a visit to the museum. 我将要参观那家博物馆是真的。

分析:句①是强调句型, 强调的是原句的宾语the museum, 若去掉划线部分, 剩余部分成分不残缺,句意完整。句②是主语从句, It是形式主语, 真正主语是划线部分that I will pay a

篇7:VC系列机床结构简介

V C(vertical m achining center英文字母缩写)系列立式加工中心是我公司生产批量最大,开发时间最早的中小型立式加工中心,该类机床适用于扁平类、盘类、模具等零件的多品种小批量生产。经过我们技术人员的改造设计,该系列机型更加实用且外形美观,机床主体由床身、立柱、鞍座、工作台、主轴箱、刀库、电器柜等几大部分组成,下面就机械部分做一一介绍:

1 床身

床身由高强度低应力铸铁铸成,鞍座、工作台、立柱均装在床身之上。该床身的设计比传统的底座加大加宽,钣金外防护罩直接安装在底座的四围边缘,防止加工过程中切削液的飞溅。两个排屑口位置最低,也利于切削液的排出。见图1。

床身上部固装Y轴滚珠丝杠和Y轴伺服电机。Y轴滚珠丝杠采用双向消除轴向间隙结构。床身上还装有两个行程挡块,Y轴校准点位置(Y=0)和Y轴行程的极限位置,就由这两个挡块配合行程开关来确定。

2 立柱

立柱装在床身后部,刀库安装在立柱上,主轴箱在立柱的导轨上上下移动(Z轴)。Z轴滚珠丝杠装在立柱的前面,Z轴伺服电机装在立柱的顶部。Z轴滚珠丝杠副的安装结构见图2。

立柱采用了“人”字型的结构(见图3),增加了它的刚性和强度。Y轴的伺服电机放置在立柱的下面,维修方便,防水效果好。立柱的前面靠近一侧导轨的附近装有上下两个行程挡块,与行程开关配合控制Z轴校准点位置(Z=620m m)和Z轴行程的极限位置。立柱顶部的两侧装有两个吊装柱,起吊机床时,和床身上的两个吊装柱配合使用。立柱内腔有一个重量平衡块,通过链条、链轮等反吊于主轴箱的上端面,用于平衡主轴箱重量,以提高Z轴定位精度。新机床安装和安装后使用过程中应检查或经常检查链条的完好情况,运行中不能有障碍物,以防止链条破断造成恶性事故。普通立式加工中心采用的是重锤平衡,也有厂家使用氮气平衡机构来进行重量的平衡,这种情况一般是立柱与主轴箱均作为滑动部件的时候。

3 主轴箱

主轴箱通过压板和楔铁以及与之固联的丝杠螺母座与Z轴滚珠丝杠连接。Z轴伺服电机旋转,可使主轴箱沿Z轴作上下运动。Z轴的两个行程开关位于主轴箱的右侧,主轴箱下部是不锈钢板防护罩。主轴部件结构见图4:

机床主轴通过一组精密轴承装在主轴箱上。主轴电机通过同步带带动主轴进行正、反向旋转。机床主轴旋转能力最高可达8000r/m in,而主轴电机有最高6000r/m in和8000r/m in的区别,用户可根据实际需要和经济状况进行选择。

4 刀库

本机床有斗笠式刀库和机械手刀库两种型式供用户任选。均是24个刀位,有1-24数字标识。标准配置是斗笠式刀库(见图5),刀库挂在立柱左侧,采用刀盘整体送进和退回的方式直接换刀。刀具装在刀库的刀盘上,若满装时,允许刀具最大直径φ90m m,若间装(相邻无刀)时,允许刀具最大的直径是φ150m m。最大刀具重量6-8kg,刀盘的总承重68kg。刀盘上部装有间歇传动机构,在电动机带动下,驱动轴每转一转,刀盘转过一个刀位,开关发出一个信号,使数控系统记住每把刀的位置。这种布局的机床结构简单,但刀库容量的扩展受到布局方式的限制。

5 鞍座

鞍座沿床身上的矩形导轨前后移动(Y轴),鞍座底部通过与其固定装在一起的丝杠螺母座与Y轴滚珠丝杠固联。Y轴伺服电机带动丝杠旋转,可使鞍座沿Y轴方向做直线运动。鞍座上面与Y轴垂直方向,安装X轴滚珠丝杠和伺服电机。X轴滚珠丝杠也采用双向消除轴向间隙结构,用户不得自行调整。X轴滚珠丝杠副的安装与Y轴的完全相同,只是行程不同。鞍座前侧上方中间部位安装有X轴的两个行程开关,鞍座底部装有Y轴的两个行程开关用于两轴各自运行中校准点(X=0)位置确定及超程断电保护。鞍座的前面和后面分别装有伸缩式导轨防护罩。

6 工作台

工作台沿着鞍座的导轨左右移动(X轴),工作台的底部通过安装丝杠座与X轴滚珠丝杠固联。X轴伺服电机旋转,可使工作台沿X轴直线运动。工作台下面装有2个行程挡块,和行程开关配合,控制X轴行程的极限位置(超程断电)。工作台上面有五条T型槽,供装夹工件、夹具、转台等。其中中间T型槽为基准T型槽,工作台的左右两端均装有伸缩式防护罩。

7 电气柜

电气柜装在机床立柱的右侧。内有数控系统、主轴伺服驱动器及X、Y、Z轴伺服驱动器,及机床各种电源装置,电气控制元件。柜内预留有第四轴驱动器、各选择项功能所必须的接触器、开关等电气元件的安装位置。电气柜的门把手就是总电源开关,只有在断电状态下才能打开柜门。非本机操作人员,不允许任意打开电气柜。任何人员均不得擅自松动柜内元器件、随意搭线或在柜内堆放物品。

8 结束语

该V C系列机床的结构改型设计后,机床的床身刚性提高,机床的防漏功能得到很大的提高,满足了用户的功能需求且与改型的防护部分设计相得益彰,提升了产品的档次,我公司已经批量生产该机型,取得了很好的社会效益。

摘要:本文简述了VC系列机床各部分的机械结构,介绍了该系列机床改型后的设计,提高了机床的刚性,更加的实用而且外形美观,批量化生产后,满足了用户的功能需求,提升了产品的市场占有率。

关键词:VC,机床结构,改型设计

参考文献

篇8:Excuse Me十种用法总结

Excuse me, does this bus go to the railway station?(请问这趟公共汽车去火车站吗?)

Excuse me, sir, will you tell me the way to the post office?(劳驾,先生,你可以告诉我去邮局的路吗?)

Excuse me, but will you please lend me a match?(对不起,请借个火好吗?)

用来客气地打断别人的话,意为“对不起”。如:

Excuse me, what you said was wrong.(对不起,你说错了。)

Excuse me, a telegram has just arrived.(对不起,电报刚到。)

用作从别人面前经过时的礼貌用语,意为“劳驾,对不起”。如:

Excuse me, could I get past?(劳驾,让我过去好吗?)

He pushed his way through the crowd, saying “Excuse me.”(他一边说着“对不起”,一边从人群中挤过。)

表示中途退席或暂时告退,意为“对不起”。如:

Excuse me, just a moment.(对不起,请稍候。)

Excuse me, I’ll be back in a minute.(对不起,我一会儿就回来。)

Excuse me, I must see who’s calling.(对不起,我得去看看是谁打电话来。)

表示不同意或不赞成,其后常接用but表转折,意为“对不起”。如:

Excuse me, but you are completely wrong.(对不起,恐怕你完全错了。)

Excuse me, sir, but you can’t park here.(先生,对不起,你不能在此停车。)

Excuse me, but I don’t think the statement is true.(对不起,我觉得这个说法不合事实。)

表示对自己不礼貌的行为道歉,意为“对不起”。如:

Excuse me for not going to the door with you.(对不起,我不送你到门口了。)

If I don’t appear, please excuse me.(我若没有到场,请原谅我。)

表示有礼貌地询问某事或请求允许,意为“请问,对不起”。如:

Excuse me, Miss Gao, what’s this in English?(高老师,请问这个用英语怎么说?)

Excuse me, but can I smoke here?(对不起,我可以在这里抽烟吗?)

A: Excuse me, what’s the time, please?(请问现在几点?)

B: Sorry. I don’t know.(对不起,我不知道。)

用来代替sorry,表示道歉(主要用于美国英语中),意为“对不起”。如:

He said “Excuse me” when he stepped on my foot.(他踩了我一脚,说了声“对不起”。)

用来对有失礼仪的行为表示抱歉。如打喷嚏时说“Excuse me for sneezing”等。

用于if you’ll excuse me, 意为“如果你们不见怪(介意)的话”。如:

If you’ll excuse me, I’ll go back to my office.(如果你不见怪的话,我要回办公室去了。)

If you’ll excuse me, I will get some sleep.(如果你不介意的话,我想去睡一会儿。)

上一篇:车队年度安全工作总结下一篇:为国家强盛而读书