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

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

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



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;  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:建立一个单窗体
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!