VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

时间:2024-05-22 14:51:47

1 设置form的背景图 picture

1.1 设置背景图picture的属性

  • picture 
  • picturealignment                                 '试了下默认center居中,还有topleft等4个角对齐选择。
  • picturesizemode                                 '默认是clip截断(原尺寸),zoom 缩放好像是等比例缩放?  stretch拉伸
  • pictureTiling                                        '默认是否,置为1后为平铺 (可见平铺是单独的属性)

 

2 图片在窗体的属性设置和方法

2.1 (窗体属性图片的对齐方式 : pictureAlignment

我觉得这是窗体属性,只是把图片在窗体内如何对齐放置,和图片无关。

  • picturealignment
  • 默认center居中
  • 还有topleft等4个角对齐选择

 

2.2 (图片属性)图片的尺寸显示方式: pictureSizemode

我觉得这是图片属性,即使只是图片的副本,也是改变了图片本身的大小或比例

  • 图片的方式--option :  clip, stretch, zoom是3种方式,可选其1
  • 默认是clip
  • clip---------截断:目的是图片保持原尺寸完全不变,如果窗体大则会有空白,如果窗体小则会截断图片只显示一部分
  • zoom------缩放:目的是比例不变形,控制图片宽高比例,缩放是把图片进行等比例缩放,而不在乎图片实际大小。
  • stretch----拉伸:目的是拉伸填满为止,不在乎比例,也不在于实际大小,把图片按窗体的大小进行拉升,不控制图片比例。

clip,可见图标被截断了一部分

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 zoom 只是绝对尺寸变化,比例还是原图的

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 stretch 拉伸了

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 

2.3 窗体属性:图片是否平铺到整个窗体:pictureTiling

我觉得这是窗体属性,是设置好显示模式的图片如何充满窗体,和图片无关。

  • 图片的拉升方式--option :  clip, stretch, zoom是3种方式,可选其1
  • 图片的平铺--------bool:      是/否

clip+Tiling  效果

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

zoom+tiling 效果

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 

3 mouseicon 鼠标外观

3.1 鼠标相关属性

  • mouseicon      只有需要自定义时才修改
  • mousepointer   应该可以设置不同的鼠标外观
  1. 可以是十字星,加问号,等等各种外观

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 

3.2 自定义鼠标光标外观:VBE设置上的要求

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

  • 必须同时MouseIcon设置成你要的Ico文件,并且把MousePointer设置为99 Custom
  • mousepointer已设置为99,就是   custom
  • custom 是让设计者自定义的意思

 

3.3 自定义鼠标光标外观:VB对 mouseicon的美术要求

  • 如果不满足下面的要求,设置mouseicon会各种报错
  • 对icon有很多美术上的要求---PS不太会用
  • VB要求格式一般是 .ico  ,据说不支持 .ani 动画光标格式
  • VB要求图片是24位色的,这个PS里另外为bmp的时候可以设置,其他方式怎么设置我不清除
  • 据说图片像素大小需要在48*48以内

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 

4 也可以代码实现,暂时还没弄

  • object.MouseIcon = LoadPicture(pathname)
  • object.MouseIcon [= picture]

 

5  美术抠图(百度的)

4.1 VB好像不支持我抠图后的无背景光标,所以例子里还是用的不抠图的,原因还不明,有些问题没解决

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 

4.2 如何抠图?百度的方法之一

4.2.1 适合这种背景色和图像颜色不同的方法

  • 首先,要解锁图片,否则无法修改操作
  • 和选择对应的图层
  • 有些图片本身就带多个图层,比如图像图层和背景图层,这时候只需要隐藏背景图层就可以
  • 操作后经常需要多按按ctrl D
  • 快捷键Ctrl+D是取消当前选区选择的

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 

  • 适合这种背景色和图像颜色不同的方法
  • 有白色背景的图
  • PS里,选择/色彩范围--选图像,然后取色----再删掉出缺色的背景色这部分。

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 

4.2.2 魔术棒勾边

  • PS菜单叠加隐藏,需要点击右键才会出魔术棒工具,平时默认叠在 快速选择工具下面
  • 选择背景颜色后,按delete,可以删掉边上的颜色
  • 也可以反向选择,拷贝图像,新建图片后拷贝过去,隐藏背景就可以了

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

 

4.2.3 橡皮擦类---右键选魔术橡皮擦工具

  • 选择魔术橡皮擦
  • 点击背景,选择连续,也可以擦除

VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点