友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
电脑十万个为什么-第11部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
Declare Function ReleaseCapture Lib 〃user32〃 () As Long
Declare Function SendMessage Lib 〃user32〃 Alias 〃SendMessageA〃 (ByVal hwnd As Long; ByVal wMsg As Long; ByVal wParam As Long; lParam As Any) As Long
Public Const WM_SYSMAND = &H112
Public Const SC_MOVE = &HF012
其中 ReleaseCapture 函数是用来释放鼠标捕获的,SendMessage 函数是一个在 Windows API 中非常重要的函数,在这里的作用是用来向 Windows 发送移动窗体的消息。WM_SYSMAND 是向 Windows 发送消息的常量。SC_MOVE 是控制移动窗体的常量。请注意:这里 SC_MOVE 的赋值是 &HF012,表示鼠标对象。
3、在窗体的 MouseDown 过程中加入以下代码:
Private Sub Form_MouseDown(Button As Integer; Shift As Integer; X As Single; Y As Single)
ReleaseCapture
SendMessage Me。hwnd; WM_SYSMAND; SC_MOVE; 0
End Sub
其中 ReleaseCapture 函数用来释放鼠标捕获,SendMessage 函数向 Windows 发送移动窗体的消息。
4、保存并运行程序,按下鼠标,你会发现窗体会随着鼠标的移动而移动。
以上讲述了如何在 VB 中用鼠标拖动窗体,其实,控件的拖动的原理是一样的。例如以下代码可以实现图片框的拖动:
ReleaseCapture
SendMessage Picture1。hwnd; WM_SYSMAND; SC_MOVE; 0
(注:以上程序在 Windows98、VB5。0/6。0 下调试通过。在 NT4。0、VB6。0 下不能运行。)
103;Q:用 Delphi5。0 编程实现 Windows 桌面的隐藏和显示
A:实现原理是调用 Windows 的 API 函数。程序代码如下:
procedure TForm1。Button1Click(Sender: TObject);
var hDesktop:Thandle;
begin
hDesktop:=FindWindow('Progman';nil);
ShowWindow(hDesktop;SW_HIDE); //隐藏桌面
end;
procedure TForm1。Button2Click(Sender: TObject);
var hDesktop:Thandle;
begin
hDesktop:=FindWindow('Progman';nil);
ShowWindow(hDesktop;SW_SHOW); //显示桌面
end;
procedure TForm1。Button3Click(Sender: TObject);
begin
close;
end
104;Q:应用 Microsoft TTS 语音引擎的 Delphi 语言实例
A:建立一个单窗体工程,添加一个 Edit 和 2 个 Button 控件,分别命名为 Edit1、btnSpeak、btnStop。然后安装引用 TTS 的 vtxtauto。tlb 类库文件,方法是点击菜单“工程…Import Type Library”,点“add”按钮,然后选中 Windowsspeech 下的 Vtxtauto。tlb 文件,放入安装包后,再将其添加成 Delphi 的一个 Unit,自动产生的名字为“VTxtAuto_TLB”。然后,在主 Unit 的 Uses 里引用 VTxtAuto_TLB,即在 Uses 后添加字串“VTxtAuto_TLB”。最后参考以下代码:
……
procedure TfrmSpeech。FormCreate(Sender: TObject);
begin
vtxt:=CoVTxtAuto_。Create;
vtxt。Register('';'Speech');
Edit1。Text:='I am a chinese; I love my homeland very much; and you?'
end;
procedure TfrmSpeech。btnSpeakClick(Sender: TObject);
begin
vtxt。Speed:=100;
vtxt。Speak(trim(Edit1。Text);10);
end;
procedure TfrmSpeech。btnStopClick(Sender: TObject);
begin
vtxt。StopSpeaking;
end;
end。
第六卷 第一章
?1;Q:怎样把别人网页上的背景音乐保存下来?
A:浏览该网页后;在你的 WindowsTemporary Internet Files 文件夹下可以找到该背景音乐的缓存文件,拷贝出来即可使用。如果还是找不见该文件,可以打开网页的源文件,找到音乐文件的 URL 路径,用“蚂蚁”等 FTP 软件进行下载。
2;Q:避免有人从你分帧的主页的帧中径直进入网站;而不是从 index。htm 中进入?
A:在帧中的网页的〈head〉〈/head〉之间加入以下脚本代码:
〈Script language=〃JavaScript〃〉
if (top==self)
self。location。href=〃index。htm〃;
〈/Script〉
这样;当有人从帧中进入网站时;就会自动重定向到主页文件 index。htm。
3。Q:怎样防止别人把你的网页放到框架里?
A:因为框架(frame)的缘故;有许多人把别人的网页放置到自己的框架里;使之成为自己的一页。如果你要防止别人这样做;可以加入下列 JavaScript 代码即可;它会自动监测;然后跳出别人的框架。
〈Script language=〃javascript〃〉
if (self != top)
top。location = self。location;
〈/Script〉
4;Q:怎样在 FrontPage2000 中加入 Flash 动画?
A:在 FrontPage2000 中;点击'插入'…》'高级'…》'插件',在弹出的窗口中,设置一下 Flash 文件的大小及其它信息,确定即可。
5;Q:怎样在网页中加入注释?
A:在共同网页开发中,加入注释是防止分工被搞混淆或者注释某段代码特殊的含义,加入注释的格式是:
〈!…[注释内容…]……〉
6;Q:怎样测试浏览器并自动装入所需要的网页?
A:目前微软和网景的浏览器并不能完全兼容所有网页,有的网页在某种浏览器中非常漂亮, 而用其它浏览器查看时却一团糟。如果你需要测试浏览器,可以加入以下 JavaScript 代码使浏览器自动装入所需要的网页:
〈script LANGUAGE=〃JavaScript〃〉
function TestBrowser()
{
ie = ((navigator。appName==〃Microsoft Internet Explorer〃) && (parseInt(navigator。appVersion) 》= 3 ))
ns = ((navigator。appName == 〃Netscape〃) && (parseInt(navigator。appVersion) 》= 3 ))
if (ns) { setTimeout(〃location。href=〃ns。htm〃〃;10); }
else {setTimeout(〃location。href=〃ie。htm〃〃;10); }
}
〈/script〉
7;Q:怎样让链接没有下划线?
A:只要在〈Head〉〈/Head〉中加入以下代码,所有链接就都没有下划线了:
〈style type=〃text/css〃〉
〈!……
a {text…transform:none;text…decoration:none;}
a:hover {text…decoration:underline}
……〉
〈/style〉。
8;Q:怎样在网页中加入 E…mail 链接并显示预定的主题?
A: 〈A href=〃mailto:Emailhost@263?subject=主题〃〉……〈/a〉
9;Q:怎样让网页的背景图像不滚动?
A: Internet Explorer 浏览器支持一个 Body 属性 bgproperties,它可以让背景不滚动:
〈Body Background=〃图片文件〃 bgproperties=〃fixed〃〉
10;Q;怎样定义网页的关键字?
A:在网页中加入关键字;可以供某些搜索站台机器人使用;它们会利用该关键字为你的网站做索引, 这样,当别人用关键字搜索网站时,如果你的网页包含该关键字,那么就可以被列出了。定义本网页关键字,可以在〈Head〉〈/Head〉中加入如下代码:
〈meta name=〃Keywords〃 content=〃china;enterprise;business;net〃〉
Content 中所包含的就是关键字;你可以自行设置。
这里有个技巧;你可以重复某一个单词;这样可以提高自己网站的排行位置;如:
〈meta name=〃Keywords〃 content=〃china;china;china;china〃〉
11;Q:怎样隐藏在状态栏里出现的链接信息?
A:大家知道;当你指向一个链接时;该链接的信息就会出现在浏览器的状态栏里; 如果需要隐藏它;可以本链接中做如下设置:
〈a href=〃//zhanghing。yeah〃 onMouseOver=〃window。status=〃none〃; return true〃〉链接〈/a〉
12;Q:怎样在网页中加入多媒体播放?
A:有些多媒体文件无需其他程序就可以播放, 而有许多多媒体文件需要外部程序才能播放。如果浏览器没有安装这种外部程序,那么浏览器会自动去下载。 要加入多媒体格式;可加入如下代码:
〈EMBED SRC=〃test。ram〃 AUTOSTART=〃TRUE〃 LOOP=〃3〃 WIDTH=〃80〃 HEIGHT=〃30〃〉
13;Q:怎样在网页中加入电子邮件表单提交?
A:表单提交需要 CGI 程序的支持;但也可以利用 E…mail 提交;当你设计好表单后, 把 Action 内容加入邮件地址即可,例如:
〈form method=〃POST〃 action=〃mailto:zhangking@263〃 ENCTYPE=〃text/plain〃〉
……
〈/form〉
14;Q:用 Word 作为 Html 编辑器产生的代码比较冗长,怎么优化?
A:可以用网页制做软件 Dreameweaver3。0 进行优化。
15;Q:IE5。0 的部分快捷键:
A:打开查找功能:Ctrl+F
关闭浏览器窗口:Ctrl+W
打开地址栏下拉列表框:F4
刷 新:F5
将当前Web页保存到收藏夹列表:Ctrl+D
打开当前 IE 窗口的一个拷贝:Ctrl+N
停止下载当前网页:Esc
光标迅速移动到网页的开头:Home
光标迅速移动到网页的尾部:End
打开新的地址键入窗口:Ctrl+O
打开收藏夹:Ctrl+I
打开历史记录文件夹:Ctrl+H
打开浏览器设定的默认主页:Alt+HOME
16;Q:网页上的图形格式:
A:图形的格式千奇百怪,但是一般 浏览器支持的图形格式只有 。gif 和 。jpg(。jpe),这两种都是经过压缩的图形文档。所以文件较小,适合在网络上传送。如果你的图形是别的格式, 则必须使用图形处理软件来将其转存成 。GIF 或 。JPG 的图形格式。但到底该用那一种图形格式呢? 先看看下面的比较: GIF 格式 JPEG 格式
压缩比例 较小 从大到小有四种选择
最多支援的颜色 256色 全彩(16百万色)
渐显功能(“隔行”方式) GIF89a有 无
背景透明功能 GIF89a有 无
动画 GIF89a有 无
结论是:比较大或颜色较多的图形就用 。JPG 的格式; 比较小或颜色较少, 而且需要有特殊功能的图,就用 。GIF 格式。注意:。GIF 还分为 GIF87a 和比较新的 GIF89a 两种格式,一些特殊的功能(像透明背景) 则是 GIF89a 才有的。当你真的无从选择的时候,就干脆分别储存成两种图形格式,看看那个文件比较小,就用那一个。
将 Gif 文件保存成“隔行”方式:在 Photoshop 中,保存时选择“Interlaced”。
将 jpg 文件保存成“逐级”方式:在 Photoshop 中,保存时选择“Progressive”。这样,图形显示时将由模糊逐渐变得清晰起来。
17;Q:表格中嵌套〈Form〉标签时,换行的取消:
A:在网页制做中,当表格和〈Form〉〈/Form〉标签嵌套时,如果像如下的形式:
〈table border=1〉 〈tr〉 〈td〉 〈Form〉 〈input name= size=〉 〈input type=button
value=Test〉 〈/Form〉 〈/td〉 〈/tr〉 〈/table〉
那么在〈Form〉构造出的文本框下会有一个空行,非常影响版面的编排。 而只要把〈/Form〉放到表格标签〈/td〉、〈/tr〉或〈/table〉的外边(如下),则问题就解决了。
〈table border=1〉
〈tr〉 〈td〉 〈Form〉 〈input name= size=〉 〈input type=button value=Test〉 〈/td〉
〈/Form〉 〈/tr〉 〈/table〉
18;Q:什么是 ActiveX 控件?
A:Microsoft ActiveX 控件是由软件提供商开发的可重用的软件组件。使用 ActiveX 控件,可以很快地在网址、台式应用程序、以及开发工具中加入特殊的功能。例如,StockTicker 控件可以用来在网页上即时地加入活动信息,动画控件可用来向网页中加入动画特性。
现在,已有 1000 多个商用的 ActiveX 控件。开发控件可以使用各种编程语言,如 C,C++,下一代的Microsoft Visual Basic,以及微软公司的 Visual Java 开发环境 Microsoft Visual J++。ActiveX 控件一
旦被开发出来,设计和开发人员就可以把它当作预装配组件,用于开发客户程序。以此种方式使用 ActiveX 控件,使用者无需知道这些组件是如何开发的,在很多情况下,甚至不需要自己编程,就可以完成网页或应用程
序的设计。
IE3。0 是第一个在网页中支持 ActiveX 控件的网络浏览器。在 Mosaic 和 Netscape Navigator 中也可以使用 ActiveX plug…in for Netscape 显示 ActiveX 控件(参见网址 //。npasslabs。)。
19;Q: Netscape Navigator 可以显示 ActiveX 控件吗?
A:可以,在 Netscape Navigator 中可以使用 ActiveX plug…in for Netscape 显示 ActiveX 控件。在Npass 实验室的网址 //。npasslabs。/ 上可以得到测试版的 plug…in。
20;Q:现在有哪些工具支持使用 ActiveX 控件进行网页开发?
A:使用 ActiveXControlPad(详见//。microsoft。/workshop/author/cpad/);开发人员可以在HTML 网页中方便地插入 ActiveX 控件。按照//。microsoft。/workshop/author/cpad/tutorial…f。htm
网址上的 ActiveX Control Pad 教程,开发人员可以很方便地学习使用 ActiveX ControlPad。SoftQuad 公司的 HoTMetaL Pro 也支持在 HTML 网页上使用 ActiveX 控件。以后,微软公司及其第三方软件供应商还将推出很多支持使用 ActiveX 控件进行网页制作的网络制作工具。
21;Q:只有程序员才能使用 ActiveX 控件吗?
A:了解脚本语言,比如说 Visual Basic Scripting Edition(VBScript) 或 JavaScript;自然对使用ActiveX 控件非常有帮助。但也并非一定要有这样的程序开发基础。对于有些控件来说,需要写一定数量的脚本程序,才能集成到网页中,但大多数 ActiveX 控件却不需要这样。使用 ActiveX Control Pad,即使是非程序开发人员也可以通过简单的选中和点击将很多控件插入网页。
22;Q:在创建了包含 ActiveX 控件的网页后,如果用户在自己的机器上浏览该网页,控件是如何在用户终端机上安装和显示的?
A:当 IE3。0 遇到含有 ActiveX 控件(或复合控件)的网页时,首先检查用户的本地系统注册,察看该组件是否已经安装在本地机上了。如果该组件已经在本地机上,IE3。0 显示该网页并激活控件。如果控件还未在用户本地机上安装,IE3。0 将自动地根据开发者创建网页时的地址定义,从网上找到此控件;并将它安装到本地机上。
23;Q:如何在网页上定义一个地址,使用户访问网页时,控件可以自动下载到用户的计算机上?
A:网页开发者可以通过给控件设置 CODEBASE 属性提供上述信息。使用 ActiveX Control Pad 时,在 ObjectEditor 中,可以看见一个属性表,开发者可以很方便地利用该表设置属性。通过设置属性,可以定义 URL 地址或地址集,通过地址可以在 Internet 上找到并下载控件。IE3。0 正是利用这些地址信息;定位控件并自动下载组件的。下载之后,网页就出现在本地机上了。在 1996 年 7 月的 Microsoft Systems Journal 上,“Safe Web Surfing with the Internet ponent Download Service”一文详细论述了整个信息定位及下载过程。需要一提的是,许多 Microsoft 提供的控件(例如 HTML Layout Control)不需要 CODEBASE 设置,因为通过 ActiveX 对象索引(ActiveX Object Index)就可以基于 CLSID(控件唯一标识符)自动找到并定位控件。
24;Q:ActiveX 组件下载时,是否通知用户?
A:是的。当一个组件需要下载时,IE 会缺省地显示一个消息框,通知用户将要开始下载。用户可以选择终止下载或继续下载。如果控件做过数字签名,会提供一份数字认证书, 其中包括提供该控件的软件供应商名字,以及确认该控件未被破坏的有关信息。软件开发者在开发控件时可以做数字签名。签名信息由控件本身携带, 因此在下载之前,会自动显示数字验证书,在网页上使用该控件的用户不需要做任何开发工作。
25;Q:ActiveX 控件下载后,放在什么位置?
A:在缺省情况下,控件下载后要放在 windowsDownloaded Program Files 目录下的 ActiveX 控件高速缓存中。
26;Q:如何对待新创建的新版本控件? 如果用户计算机上已经有了老板本的控件 IE 如何知道应该下载新版本的控件?
A:I3。0 中的组件下载服务(ponent Download Service)提供了版本控制功能,使用此项功能,新版本的控件会被自动检测出来,并可自动下载。在1996 年 7 月的 Microsoft Systems Journal 杂志上,“Safe Web Surfing with the Internet ponent Download Service”一文 详细论述了整个版本控制过程。
27;Q:ActiveX 控件是否有许可权问题? 用户下载控件之后能否在自己的网页上使用 ActiveX 控件?
A:ActiveX 控件提供一套完整的保护机制,可以防止未经许可的用户在网页上使用 ActiveX 控件。到目前为止,已经有一些开发工具支持这套机制,例如 VB、Ms Access、和 IE。现有的控件授权许可证机制有两种许可形式:开发许可证和运行使用许可证。开发许可证允许许可证的持有者使用控件,利用 VB,ActiveX ControlPad, 以及其它有关的开发工具,从事以开发为目的活动。运行使用许可证只允许许可证的持有者在已有的应用或网页中显示控件,不允许将控件插入有关工具中,用于开发目的活动。支持许可证机制是独立控件开发上的工作。有些控件开发商选择了不支持许可证机制的开发策略,因此对任何用户来说,他们开发的控件一旦被安装到本地机上,就可以用于开发。另一些控件开发商只提供免费的运行许可证,而在提供开发许可证时需要收费。需要在网上使用控件的用户,应该详细地阅读控件开发商提供的许可证协议,以确定自己使用控件的权限。
28;Q:为什么有些控件,甚至包括有些 VB4。0 自带的 ActiveX 控件,在网页上都无法用 IE 显示?
A:包括 VB4。0 中某些控件在内的许多控件都提供了许可证机制。要在网上使用这些控件必须取得相应的运行使用许可证,并将相应的许可证文件放在网页中,否则,在用户终端机上将无法显示该控件。对于某一控件来说,只有控件的合法开发者,才拥有为该控件进行“运行许可权”授权的权利。 欲知在网页中获得控件运行许可权的详细过程, 请参见 ActiveX SDK 文档中有关许可证控制部分(在新的ActiveX Control Pad FAQ 中,还有一个具体例子)。 值得一提的是,Microsoft 及其第三方合作伙伴也在网上提供了大量的具有免费使用权许可证的 ActiveX 控件。在网页中使用这些控件时,不需要提交使用权许可证文件。
29;Q:HTML Layout 控件如何增强了使用 ActiveX 控件开发网页的能力?
A:HTML Layout 控件支持由 W3C 公布的扩展 HTML,允许在网页上精确定位对象。原先,HTML 不允许网页开发者使用 X、Y 坐标在网页上精确定位元素,也不允许叠盖对象。新增加的的“2…D”布局功能;使开发者可以完成更复杂的设计,为用 户开发出更好的网络应用提供了支持。通过实现新的 W3C HTML 扩展,HTML Layout 控件为在 IE 中显示的 ActiveX 控件提供了更先进的布局选项。HTML Layout 控件是 IE3。0 的新增组件,并被集 成到 IE 完全安装版中。(HTML Layout 控件也是 ActiveX ControlPad 的一部分;可通过 MSDN 库安装。由于提供了基于 WYSIWYG(所见即所得)页的全帧编辑器,ActiveX Control Pad 可以与 HTML Layout Control 相结合使用。 这使得用 ActiveX 控件开发先进的二维风格的 HTML 设计变得更加简单。
30;Q:怎样在网页上显示多少人在线(on…line)?
A:只要你的网站支持 ASP,那么在网站的根目录中放置以下内容的 Global。asa 文件,问题就解决了。将语句 〈% response。write 〃现在有 〃 & Application(〃WhosOn〃) & 〃 人在线。〃 %〉 放在你的 ASP 网页中用于显示在线人数。
Sub Application_OnStart
Session。Timeout=1
Application。Lock
Application(〃WhosOn〃) = 0
Application。UnLock
End Sub
Sub Session_OnStart
Application。Lock
Application(〃WhosOn〃) = Application(〃WhosOn〃) + 1
Application。UnLock
End Sub
Sub Session_OnEnd
Application。Lock
Application(〃WhosOn〃) = Application(〃WhosOn〃) … 1
Application。UnLock
End Sub
31;Q:用样式表(CSS)定制表格边框:
A:
〈Table border=0 id=tb1 style=〃border:3px solid red〃〉
〈tr〉〈td〉用样式表(CSS)定制表格的例子〈/td〉〈/tr〉
〈/Table〉
32;Q:闪亮的表格边框:
A:
制做闪亮的表格边框!
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!