电脑十万个为什么-第22章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
格式同其载入前的文件格式一样(如 ICO 格式等)。
102;Q:在 Visual Basic 中如何拖动窗体或控件?
A:现在的许多 windows 下的应用程序,都采用了图形化的界面,但是在这样的界面下就不能使用 Windows 原来的标题条了,否则会影响界面的美观。那么在没有标题条的情况下如何用鼠标拖动窗体或者其它的控件呢?
其实,采用 API 函数调用很容易实现,下面我们以拖动窗体 Form1 为例来具体讲一下实现方法:
1、新建立一个项目,名称为 test。vbp;
2、填加一个模块,名称为 test。bas,并且在声明部分加入以下代码:
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 Inter 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 Inter Explorer〃) && (parseInt(navigator。appVersion) 》= 3 ))
ns = ((navigator。appName == 〃scape〃) && (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: Inter Explorer 浏览器支持一个 Body 属性 bgproperties,它可以让背景不滚动:
〈Body Background=〃图片文件〃 bgproperties=〃fixed〃〉
10;Q;怎样定义网页的关键字?
A:在网页中加入关键字;可以供某些搜索站台机器人使用;它们会利用该关键字为你的网站做索引, 这样,当别人用关键字搜索网站时,如果你的网页包含该关键字,那么就可以被列出了。定义本网页关键字,可以在〈Head〉〈/Head〉中加入如下代码:
〈meta name=〃Keywords〃 content=〃china;enterprise;business;〃〉
Content 中所包含的就是关键字;你可以自行设置。
这里有个技巧;你可以重复某一个单词;这样可以提高自己网站的排行位置;如:
〈meta name=〃Keywords〃 content=〃china;china;china;china〃〉
11;Q:怎样隐藏在状态栏里出现的链接信息?
A:大家知道;当你指向一个链接时;该链接的信息就会出现在浏览器的状态栏里; 如果需要隐藏它;可以本链接中做如下设置:
〈a href=〃http://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:图形的格式千奇百怪,但是一般 浏览器支持的图形格式只