当前位置:首页 > 技术问答集
firefox

几个很简单的问题,菜鸟的我不会,送分了

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

怎么让运行的程序界面固定在屏幕某个位置?然后大小不能改变?  
  我在程序界面里放置了picture框控件  
  程序运行时,改变界面大小但是picture控件大小不变  
  怎么才能使装入picture控件的图片始终跟随界面大小一起变化(完整的装入)?

· 网友精彩回答:

发表者:xghim

第一个的话你可以设置窗体的属性  
  borderstyle=1-fixed   single  
  startupposition=2-屏幕中心  
  这样就可以固定位置且不能改变大小了。  
  如果你想界面改变图片也跟着改变,那就得同时把图片也得放大。  
  这样做的效果可能造成图象失真,不可取啊。所以不推荐这么做。

发表者:zgvslch

把form的controlbox,formborderstyle属性设为false  
  maximizebox和minimizebox设为false  
  picture控件不行,image控件可以  
 

发表者:haen_zhou

第一个的话你可以设置窗体的属性  
  borderstyle=1-fixed   single  
  startupposition=2-屏幕中心。  
  如果你想要程序运行时的界面位置为上次退出程序时候的位置,那么可以用getsetting和savesetting二个函数来固定位置。  
  这样就可以固定位置且不能改变大小了。  
  对于picture控件也可以改变向image控件那样改变图象的大小,但必须用picture的paintpicture,用它就可以随意改变图象的大小了。

发表者:wangdeshui

private   sub   form_resize()  
  image1.stretch   =   true  
  image1.picture   =   loadpicture("c:\documents   and   settings\all   users\documents\my   pictures\示例图片\sunset.jpg")  
   
  image1.width   =   form1.width  
  image1.height   =   form1.height  
  image1.move   0,   0  
  end   sub  
 

发表者:roger_xiong

用   image   並不是一個明智的選擇,如果需要讓圖片隨著窗體大小改變應該使用   paintpicture   方法,  
   
  樓主可以按下面的步驟試一試效果就知道了.  
   
  1.   在窗體的picture屬性中放入一幅圖片.  
  2.   在窗體中寫入下面代碼:  
   
  option   explicit  
   
  private   sub   form_load()  
          me.autoredraw   =   true  
  end   sub  
   
  private   sub   form_resize()  
          me.paintpicture   me.picture,   0,   0,   me.scalewidth,   me.scaleheight  
  end   sub  
   
   
  3.   運行程序.  
   
  當然,上面的代碼頁可以放在picturebox裏面,用picturebox的paintpicture   方法,繪製在picturebox裏面.  
   
   
   
 

发表者:roger_xiong

paintpicture   方法  
               
   
  用以在   form,   picturebox   或   printer   上绘制图形文件的内容。不支持命名参数。  
   
  语法  
   
  object.paintpicture   picture,   x1,   y1,   width1,   height1,   x2,   y2,   width2,   height2,   opcode  
   
  paintpicture   方法的语法包含下列部分:  
   
  部分   描述    
  object   可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略   object,带有焦点的   form   对象缺省为   object。    
  picture   必需的。要绘制到   object   上的图形源。form   或   picturebox   必须是   picture   属性。    
  x1,   y1   必需的。均为单精度值,指定在   object   上绘制   picture   的目标坐标。object   的   scalemode   属性决定使用的度量单位。      
  width1   可选的。单精度值,指示   picture   的目标宽度。object   的   scalemode   属性决定使用的度量单位。如果目标宽度比源宽度   (width2)   大或小,将适当地拉伸或压缩   picture。如果该参数省略,则使用源宽度。    
  height1   可选的。   单精度值,指示   picture   的目标高度。object   的   scalemode   属性决定使用的度量单位。如果目标高度比源高度   (height2)   大或小,将适当地拉伸或压缩   picture。如果该参数省略,则使用源高度。    
  x2,   y2   可选的。均为单精度值,指示   picture   内剪贴区的坐标。object   的   scalemode   属性决定使用的度量单位。如果该参数省略,则缺省为   0。    
  width2   可选的。单精度值,指示   picture   内剪贴区的源宽度。object   的   scalemode   属性决定使用的度量单位。如果该参数省略,则使用整个源宽度。    
  height2   可选的。   单精度值,指示   picture   内剪贴区的源高度。object   的   scalemode   属性决定使用的度量单位。如果该参数省略,则使用整个源高度。    
  opcode   可选的。是长型值或仅由位图使用的代码。它用来定义在将   pictur   绘制到   object   上时对   picture   执行的位操作。关于位操作符常数的完整列表,请参阅   visual   basic   help   文件中的   rasterop   constants   主题。    
  在使用opcode时有一些限制。例如,如果资源是图标或图元文件,则只能使用   vbsrccopy,而不能使用其他的opcode;并且,与图案   (或   sdk   术语中的"画笔"),如   mergecopy、   patcopy、   patpaint   和   patinvert,相交互的opcode实际上是同目标的   fillstyle   属性交互。  
   
  注意       opcode   用于将按位操作传递到位图。当传递其他图象类型时将一个值给该参数会造成“无效过程调用或参数”错误。这是设计的原因。要避免这个错误,对于除位图外的图象,将   opcode   参数置为空。  
     
   
   
  说明  
   
  通过使用负的目标高度值   (height1)   和   /   或目标宽度值   (width1)   ,可以水平或垂直翻转位图。    
   
  可以省略任何多个可选的尾部的参数   。如果省略了一个或多个可选尾部参数,则不能在指定的最后一个参数后面使用逗号。如果想指定某个可选参数,则必须先指定语法中出现在该参数前面的全部参数。  
   
  注意,在将一个.bmp加载入   picturebox   控件和使用   windows   api   函数   bitblt()   添加图片之间有一点不同。当您对一个图象使用   bitblt()   时,picturebox   控件不知道象您使用   loadpicture方法那样去调整大小。将   scalewidth   和   scaleheight   属性设置为图象的大小也不起作用。如果您想在使用   bitblt   之后用   picturebox   调整新图片的大小,必须用代码手工做,转换单位并处理边框,下面是如何这样做的一个简单示例:  
   
  sub   resizepictureboxtoimage(pic   as   picturebox,   twipwd   _  
      as   integer,   twipht   as   integer)  
      该代码假设所有的单位都为缇。如果  
      不是,必须在调用该例程之前,转换为缇。  
      这里也假设图象显示在0,0处。  
    dim   borderht   as   integer,   borderwd   as   integer  
    borderwd   =   pic.width   -   pic.scalewidth  
    borderht   =   pic.height   -   pic.scaleheight  
    pic.move   pic.left,   pic.,   twipwd   +   borderwd,   _  
        twipht   +   borderht  
  end   sub  
 

.
© 2006-2008 All Rights Reserved