友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

电脑十万个为什么-第23章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



37
Q:ASP  编程中参数传递的几种方法  38
Q:一次性清空本窗口内所有文本框(TextBox)
39
Q:怎样在  VB  程序中播放  Flash  动画?  40
Q:怎样在  VB  程序中实现图象扫描功能?
41
Q:在  VB  编程中检测声卡是否存在?  42
Q:在  VB  中终止  Windows95  的运行
43
Q:给一大段  VB  程序一次性加上注释符号  44
Q:VB  中在一个窗体中执行另一个窗体中的代码
45
Q:Visual  Basic  5。0  支持类吗?  46
Q:在  VB  5。0  中文版中,表单上最多允许有多少个控件?
47
Q:Visual  Basic  能用来创建在  Windows  CE  环境下运行的应用程序吗?  48
Q:Visual  Basic5。0/6。0  能用来创建  Windows  NT  服务吗?
49
Q:Microsoft  Visual  Basic  5  除了支持本机编译的代码外,还支持  p  代码吗?  50
Q:Microsoft  Visual  Basic  可以在  Macintosh  上使用吗?
51
Q:Visual  Basic  5。0/6。0  支持  16  位开发吗?  52
Q:Visual  Basic  5。0  中文版内的  Text  Box  能存储  64K  以上的数据吗?
53
Q:在  ASP  编程中统计查询结果的记录数  54
Q:为何无法编译成  dll  文件?
55
Q:资源文件有什么用处?  56
Q:如何在  DOS  程序结束执行时,自动将其关闭?
57
Q:VB  编程中打开默认网址和  Email  的更简单的方法  58
Q:我用  VB6。0  的  ActiveX  dll  工程开发了一个在  ASP  中调用的  dll  类型库,里面有好多封装的函数,我能不能在  VB  的  EXE  工程中利用它们?
59
Q:“我爱你”病毒传播的秘密  60
Q:在  PowerBuilder  中使用  RichTextEdit  控件,属性中没用  Font,我想设置字体怎么办(如果不设字体,读入一个文本文件,缺省的字体对不齐)?
61
Q:在一个  PowerBuilder  程序中,我想用  RichTextEdit  控件从本地取文本文件显示,可是在我的机器上  RTE  只能显示出少量英文和乱码,程序并没有编错,因为相同的程序在其他人的机器上显示出的是正确的文本,不知是什么原因?  62
Q:如何在  PowerBuilder  的  BLOB  字段中写入大于  1M  的文件(数据库为MSSQL  7。0)?
63
Q:用程序控制电脑说英语?  64
Q:怎样判断、防止程序重复执行?
65
Q:如何结束  Shell  所启动的程序?  66
Q:用  VB5。0  创建  Windows  程序组中的快捷方式
67
Q:VB  中使  TextBox  按  Mouse  右键时只出现自定  PopUp  Menu?  68
Q:用  VB  实现拖放功能
69
Q:用  VB  程序如何改变桌面墙纸的图片?  70
Q:用  VB  程序捕捉屏幕图像
71
Q:测试表中的记录总数又一法(笨而准确)  72
Q:如何判断生成的记录集是“空集”(记录数为  0)?
73
Q:VB  编程中如何使窗口右上角的关闭按钮(X)失效?  74
Q:用  VB  实现超级链接功能
75
Q:在  VB  安装程序中加入“卸载”功能  76
Q:怎样在  VC++  中产生闪烁的光标
77
Q:VFP  程序编译成  。EXE  文件后运行,为在什么屏幕上一闪而过就结束了?  78
Q:VB  中如何在保存并覆盖文件时让其出现对话框,询问是否替换
79
Q:VB6  中的字体出现乱码怎么办?  80
Q:怎样用  VB  编写多线程程序
81
Q:加快  Delphi5。0  启动速度  82
Q:观察  Delphi5。0  内存堆分配情况
83
Q:Delphi  中如何在打印或打印预览前获取报表页数  84
Q:如何在  Delphi  中实现普通文件的拷贝?
85
Q:用  Delphi  编写支持多国语言的程序  86
Q:在  SQL  Server  中怎么样恢复数据的存储?
87
Q:Asp  中无  DSN  法连接  SQL  Server  数据库的方法及其注意问题  88
Q:Delphi  中判断系统是否已经安装了声卡
89
Q:用  ASP  打开  Web  服务器上的应用程序  90
Q:一个用进度条表示的时钟
91
Q:Delphi  中实现对日期数据的有效性检验  92
Q:PHP4  的  CGI  版本和  ISAPI  版本有什么区别?
93
Q:VFP6。0  一条语句有多长?  94
Q:Delphi  中调用  Windows  API  函数  ShellExecute  实现打开  IE  和  Outlook  应用程序?
95
Q:用一条  SQL  语句找出“相同的客户代码中序号最大”的那些数据  96
Q:在  Delphi5。0  中怎么找不到  Html  组件?
97
Q:在  Delphi  中实现控件焦点转移?  98
Q:在  Delphi  中判断本程序是否已经运行?
99
Q:Delphi  与  VB、ASP  带变量参数  SQL  语句的比较100
Q:Delphi  实现渐变窗口背景
第五卷 第二章

?101;Q:用  Visual  Basic  保存  BMP  文件:  
A:  在用VB编制绘图程序时,有时需要将窗体或图片框上的绘图结果形成一个定制的图形文件保存起来,以便以后浏览或修改。这一功能可以用  VB  本身带有的  SavePicture  语句来完成。
SavePicture语句将窗体、图象控件或图片框中的图形图象保存到磁盘上的一个文件中,这些图象可以是使用画图方法(Line,Circle,Pset)产生出来的,也可以存储那些通过设置窗体或图片框的图片属性或者通过PaintPicture  方法或  Load  Picture  函数载入的图象。这些载入的图象可以是  BMP、ICO  或  WMF  图形文件。
SavePicture  语句的语法格式如下:
SavePicture  picture,stringexpression
参数  picture  为窗体或图片框的  picture  或  image  属性;参数  strngexpression  为保存的文件名。
下面举一个具体的程序来说明定制图象文件的过程:
1、创建一个新的项目文件,在  Forml  中加入一个图象控件  Picture1,将Picture1  的  AutoRedraw  属性设置为  True;
2、在Form_Load()  事件中,加入如下代码:
  Private  Sub  Form-Load()
Dim  CX  As  Integer
Dim  CY  As  Integer
Dim  Limit  As  Integer
Dim  Radius  As  Integer
CX=1000
CY=1000
For  Radius=0  To  Limit
Picturel。Circle(CX;CY);Radius;RGB(Rnd*255;Rnd*255;Rnd*255)
Next  Radius
SavePicture  Picturel。Image;〃c:custom。bmp〃
  End  Sub
执行此程序就会把图片框  Picture1  上的图象保存在  C:  盘根目录下  custom。bmp  图象文件中。
最后有两点需要指出:
1、在使用  SavePicture  语句之前,必须先将窗体或图片框的  AutoRedraw  属性设为  True,否则保留的将是一张空图;
2、使用  Image  属性保存的用画图命令(如  Line,Cirele,Pset  或  Print)画出来的图形总是以  BMP  文件格式保存。但在程序设计时如果使用窗体或图片框的  Picture  属性载入或在程序运行时通过  LoadPicture  函数载入的图象,使用  SavePicture  语句存储时,存储的文件格式同其载入前的文件格式一样(如  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;  ByValwParam  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(Se
返回目录 上一页 下一页 回到顶部 0 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!