具体解释一下VFP中showwindow属性与windowtype属性???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具体解释一下VFP中showwindow属性与windowtype属性???相关的知识,希望对你有一定的参考价值。

谢谢!!!

VFP中"DeskTop、WindowType、ShowWindow三个表单属性的用法

1."ShowWindow"是规定表单在"显示方面的从属关系"的属性 ShowWindow属性实际上仅有两种选择:"作为顶层表单"与"在顶层表单中"。为了表达方便,我们把具有前者属性值的表单称为"顶层表单",后者称为"从属表单"。二者在显示方面的不同地位是:顶层表单在Windows任务栏上有一席之地,从属表单却没有这种待遇;顶层表单最小化时,从属表单随之被隐藏,当顶层表单关闭后,从属表单随之关闭。 ShowWindow的第三种选择"在屏幕中(默认)"仅是"在顶层表单中"的一个特例,即为"在_Screen这个特定的顶层表单中"之意,选择此种属性值时,它一定是个"从属表单"了。_Screen具有"顶层表单"的一切显示特征。
从属表单不能独立地被显示,必须与他的"主表单"一起显示,这个"主表单"要么是一个顶层表单要么是VFP的窗口(_Screen)。不需要为一个"从属表单"指定一个"主表单","从属表单"打开时,自动选择当前的活动顶层表单作为其"主表单",当然,如果选择了"在屏幕中",则这个从属表单自然就以_Screen为其主表单了。

2."DeskTop"是规定表单在"显示方面的活动范围"的属性。
DeskTop仅对"从属表单"有意义,当从属表单的DeskTop=.f.时,它只能显示在它的"顶层表单"的尺寸之内,当这个顶层表单的尺寸比它的尺寸还小时,它将会被部分地遮住;当从属表单的DeskTop=.t.时,它的活动范围将不受它的顶层表单尺寸的限制,它可以显示在电脑屏幕的任何地方甚至之外。但不管它的位置离其顶层表单多远,一旦顶层表单最小化了,它会立即顺从地从电脑屏幕上消失。

3."ShowWindows"是规定表单被执行时的程序动作的属性
分两种情况:
(1)当表单的ShowWindow为"在屏幕中"和"在顶层表单中"时: a.当WindowType="模式"时,执行表单(DO FORM)后使得表单取得焦点,并且一直到它被关闭,在此期间,它的父窗口对象(可能是_Screen或一个顶层表单)的菜单系统及其所属的子表单都不能用。就是说,在表单存在期间,它将一直霸占着焦点. b.当WindowType="无模式"时,表单存在期间不会霸占焦点。有一个例外,当DeskTop=.t.时,执行它时会使系统菜单失效,而DeskTop=.f.时则不会。
(2)当表单的ShowWindow为"做为顶层表单"时: 表单的WindowType属性不管是有模式还是无模式,都不会霸占焦点。
参考技术A SHOWWINDOW属性是指定一个表单或工具栏是否是顶层表单或是子表单,也就是说该表单是否是当前打开所有表单的最顶层显示。
当值是2时,该表单将做为最顶层的表单,这里要指出的是,该方法一般是关闭了VFP自带主表单后,将自定义的表单做为了一个顶层主表单。
当值是1时,该表单表示它是顶层表单中的一个子表单,不被主表单履盖,否则将被自定义主表单履盖,看不见。
WINDOWSTYPE是执行DO FORM 命令时,指定表单集或表单对象的动作,这个属性很少有人会用,这也只是看书的定义了。
参考技术B showwindow 属性
http://www.77169.com/book/program/api/ShowWindow.htm
windowtype 属性
http://jsjzx.yzu.edu.cn/jsjzx/jyn/wtm/vfphelp/lngwindowtype_property.htm

android 动画xml属性具体解释

/**      
* 作者:crazyandcoder      
* 联系:      
*      QQ   : 275137657      
*      email: [email protected]      
* 转载请注明出处!

*/


android 动画属性具体解释


android中的动画属性主要分为四种,各自是alpha、scale、translate、rotate。我们如今来具体了解一下各个类型的意思。然后依据项目的需求要定义自己的动画。

  • alpha         透明度渐变的动画效果
  • scale         尺寸收缩渐变的动画效果
  • translate    画面转换位置的动画效果
  • rotate         画面转移旋转动画效果


载入动画我们能够通过两种方式,一种是xml布局的方式,还有一种就是纯的java代码方式。两种方式各有优势。依据须要能够自己选择。首先我们来看下xml的方式定义动画属性,须要在res文件夹下新建一个文件夹anim,详细的路径为res/anim,里面新建一个img_anim.xml文件。

<?xml version="1.0" encoding="utf-8"?

> <set> <alpha /> <rotate /> <scale /> <translate /> </set>


接下来我们分别了解当中的每一个属性的内容:


Alpha 透明度渐变的动画效果

技术分享
  • fromAlpha   动画開始时的透明度, 0.0~1.0之间的float类型的数字,0.0代表全然透明,1.0代表不透明
  • toAlpha       动画结束时的透明度,同上
  • interpolator 动画的显示速度,能够有加速、匀速等状态。
  • duration      动画持续的时间

Scale 尺寸收缩渐变的动画效果

技术分享

  • fromYScale 代表起点Y方向上相对于自身的缩放比例。0.5缩小一半,1.0无变化,2.0放大一倍
  • fromXScale 代表起点X方向上相对于自身的缩放比例。
  • toXScale、toYScale与上面相对。代表结束时的x、y方向上的缩放比例
  • pivotX,pivotY代表缩放的中心点x、y位置,
简单的来看一个实例:从图像中心点開始,初始图像xy方向缩放为原图的一半,然后放大到原来的2倍。缩放过程期间持续5秒钟。代码为:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <scale
        android:duration="5000"
        android:fromXScale="0.1"
        android:fromYScale="0.1"
        android:pivotX="0.5"
        android:pivotY="0.5"
        android:repeatCount="55"
        android:toXScale="2.0"
        android:toYScale="2.0" />

</set>
技术分享
能够看到这仅仅狗有小到大的变化过程,因为是在手机里面模拟动画的,所以缩放过程不是非常平滑,建议真机測试,效果更佳。

Rotate 画面转移旋转动画效果

技术分享

  • fromDegrees 从初始的角度開始旋转,单位为“ ° ”
  • toDegrees     结束时的度数
我们能够模拟一下载入进度的动画,仅仅须要一张图片,然后以它的中心点进行旋转。就可以。

<?

xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <rotate android:duration="500" android:fromDegrees="0" android:pivotX="50%" android:interpolator="@android:anim/linear_interpolator" android:pivotY="50%" android:repeatCount="-1" android:toDegrees="360" /> </set>


主类文件代码:
package com.example.animationsdemo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;

public class MainActivity extends Activity {

	private ImageView mImgAnim;
	private Animation mAnimation;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		mImgAnim=(ImageView)findViewById(R.id.img_anim);
		mAnimation=AnimationUtils.loadAnimation(this, R.anim.img_anim);
		mImgAnim.startAnimation(mAnimation);
		
	}

}

实现结果演示:
技术分享
因为是模拟器的缘故,再加上转化为gif格式的所以中间有点卡顿的现象。建议直接真机測试。


Translate  画面转换位置的动画效果
技术分享

  • fromXDelta 代表起始方向上x的位置
  • fromYDelta 代表起始方向上y的位置
  • toXDelta     代表结束时方向上x的位置
  • toYDelta     代表结束时方向上y的位置

我们来实现一个水平移动的动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="3000"
        android:fromXDelta="0%"
        android:fromYDelta="0%"
        android:repeatCount="-1"
        android:toXDelta="200%"
        android:toYDelta="0%" />

</set>


效果为:

技术分享


公共的属性:

  • repeatCount 动画反复的次数,-1代表无线循环
  • fillAfter 假设设置为true的话动画结束后就停止,保持动画结束时的状态。
  • duration 动画持续的时间


























以上是关于具体解释一下VFP中showwindow属性与windowtype属性???的主要内容,如果未能解决你的问题,请参考以下文章

VFP文本框输入问题,请教

求vfp高手帮忙

关于ShowWindow(SW_HIDE);

VFP+6.0中文版教程--初级教程

VFP问题 用户可以给表单添加自定义属性和方法程序???

android 动画xml属性具体解释