`
terryfeng
  • 浏览: 492234 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Windows Gadget 开发常用的几个系统方法及设置

阅读更多

1.设置窗口关闭方法委托

System.Gadget.onSettingsClosing = settingsClosing;

function settingsClosing(event)
{
    if(event.closeAction == event.Action.commit)
    {
        saveSettings();
    }
    else if (event.closeAction == event.Action.cancel)
    {
    }
    event.cancel = false;
}

2.写入系统设置

this.rssFeedPath = System.Gadget.Settings.read("rssFeedPath");

3.读取系统设置

System.Gadget.Settings.write("rssFeedPath", _feedPath);

4.参数初始化

function clearViewElements()
{
    positionNumbers.innerText = "";
    for(i=0; i < 4; i++)
    {
        if ( g_viewElements !== null )
        {
            g_viewElements.FeedItems[i].innerHTML = "";
            g_viewElements.FeedItems[i].href = "";
            g_viewElements.FeedItems[i].innerText = "";
            g_viewElements.FeedItems[i].setAttribute("name", "");
            g_viewElements.FeedItems[i].setAttribute("localId", "");
        }

        eval("FeedItemName"+i).innerHTML = "";
        eval("FeedItemName"+i).style.backgroundColor = "";
        eval("FeedItemName"+i).innerText = "";
        eval("FeedItemName"+i).setAttribute("title","");

        eval("FeedItemDate"+i).innerHTML = "";
        eval("FeedItemDate"+i).style.backgroundColor = "";
        eval("FeedItemDate"+i).innerText = "";
        eval("FeedItemDate"+i).setAttribute("title","");

        eval("FeedItemLink"+i).style.textOverflow = "";
        eval("FeedItemLink"+i).style.overflow = "";
        eval("FeedItemLink"+i).style.whiteSpace = "";
        eval("FeedItemLink"+i).style.width = "0px";
    }
}

5.调试输出

System.Debug.outputString("Start Polling : Pull feeds queued up in bursts"); //DEBUG CODE

6.启动一个定时刷新

function startTimer()
{
    if(g_timerFlag)
    {
        stopTimer();
        g_timer = setInterval(setNextViewItems, g_timerMilliSecs);
    }
}

 

setTimeout(loadData, 1000);

 

7.停止一个定时刷新

function stopTimer()
{
    if(g_timerFlag)
    {
        clearInterval(g_timer);
    }
}

 

8.指定设置页面文件

 

 

System.Gadget.settingsUI = "settings.html";

 

9.打开Flyout 窗口

System.Gadget.Flyout.show = true;

 

10.键盘按键捕获

<body onkeydown="keyNavigate();" >

function keyNavigate()
{
    switch(event.keyCode)
    {

        case 38:
        case 104:
            setPreviousViewItems();
            break;
        case 40:
        case 98:
            setNextViewItems();
            break;
        case 32:
        case 13:
            if(event.srcElement.id == "buttonLeftNarrator")
            {
                setPreviousViewItems();
            }
            else if(event.srcElement.id == "buttonRightNarrator")
            {
                setNextViewItems();
            }
            break;
        case 27:
            hideFlyout();
            break;
    }
}

 

11.鼠标滑轮

<body onmousewheel="mouseWheeNavigate();" >

 

function mouseWheeNavigate()
{
    if( g_returnFeed == null )
        return;

    var headlineCount = g_returnFeed.feedItems.length;
    if(g_totalViewableItems < headlineCount)
    {
        headlineCount = g_totalViewableItems;
    }
    if(event.wheelDelta < -20)
    {
        setNextViewItems();
    }
    if(event.wheelDelta > 20)
    {
        setPreviousViewItems();
    }
}

 

12 获取Flyout 文件对象,并设置内容

var flyoutDiv = System.Gadget.Flyout.document;

flyoutDiv.getElementById("flyoutTitleLink").innerText = tempTitle;
                flyoutDiv.getElementById("flyoutTitleLink").href = checkHref(g_feedURL);
                flyoutDiv.getElementById("flyoutTitleLink").setAttribute("title", tempTitle);
                flyoutDiv.getElementById("flyoutTitleLink").style.textOverflow = "ellipsis";
                flyoutDiv.getElementById("flyoutTitleLink").style.overflow = "hidden";
                flyoutDiv.getElementById("flyoutTitleLink").style.whiteSpace = "nowrap";

 

13.窗口 停靠

if(!System.Gadget.docked)
        {
            var backgroundToLoad = "url(images/item_hover_floating.png)";
        }

 

14. Flyout 窗口 文件设置

System.Gadget.Flyout.file = "flyout.html";

 

15.  显示设置页面的方法

System.Gadget.onShowSettings = loadSettings;

 

16. Gadget 是否可见

System.Gadget.visibilityChanged = checkVisibility;

function checkVisibility()
{
    isVisible = System.Gadget.visible;
    if (!isVisible)
    {
        stopTimer();
    }
    if(isVisible)
    {
        startTimer();
    }
}

 

17. 初始化配置集合

System.Gadget.settingsUI = "settings.htm";                              // 设置Setting 页面
System.Gadget.onShowSettings = procSettingsShowEvent;                   // set settings onshow method
System.Gadget.onSettingsClosed = procSettingsClosedEvent;               // set settings onclosed method

// init dock/undock event methods
System.Gadget.onUndock = procUndockEvent;                               // set gadget onundock method
System.Gadget.onDock = procDockEvent;                                   // set gadget ondock method

// init flyout event methods
System.Gadget.Flyout.file = "flyout.htm";                               // set flyout page
System.Gadget.Flyout.onShow = procFlyoutShowEvent;                      // set gadget flyout show event
System.Gadget.Flyout.onHide = procFlyoutHideEvent;         // set gadget flyout hide event

18. 简化开发的最好方法,是下载现有的Gadget,修改其内容实用,下面是地址。

http://vista.gallery.microsoft.com/vista/SideBar.aspx?mkt=zh-cn

http://vista.gallery.microsoft.com/vista/SideBar.aspx?mkt=en

 

19. 如果Gadget中嵌入Flash

1.要将投影效果去掉

2. 添加透明属性

if(typeof infosoftglobal == "undefined") var infosoftglobal = new Object();
if(typeof infosoftglobal.FusionChartsUtil == "undefined") infosoftglobal.FusionChartsUtil = new Object();

var FusionCharts = infosoftglobal.FusionCharts;

this.addParam('Wmode', 'transparent');

FusionCharts.prototype = {
    setAttribute: function(name, value){
        this.attributes[name] = value;
    },
    getAttribute: function(name){
        return this.attributes[name];
    },
    addParam: function(name, value){
        this.params[name] = value;
    },
    getParams: function(){
        return this.params;
    }

}

           var params = this.getParams();
            for(var key in params) {
             swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
            }

3.使用一个透明背景的Png 图片最背景,达到背景透明的效果,并设置四边框为0,如下

<body onload="Initialize();"   style=" margin:0; width: 200px; height: 200px; background-repeat:no-repeat; background:url(bgbk5.png);">

      function Initialize() {
            try {
                System.Gadget.settingsUI = "options.html";
            } catch (e) { };

        }

4.在重复加载一个Flash,数据源的时候,会有缓存的问题,简单的解决办法就是用时间拼装不重复的访问字符串,已达到每次访问都不一样的目的,避免缓存

function updateChart(DOMId) {

            var strURL = "http://localhost:9999/Chart/Gallery/Data/Angular5.xml?time=a" + Date.prototype.Format("yyyyMMddhhmmss");
            var myChart = new FusionCharts("http://localhost:9999/Chart/Charts/AngularGauge.swf", "myChartId", "200", "200", "0", "0");
            myChart.setDataURL(strURL);
            myChart.render("chartdiv");
        }

分享到:
评论

相关推荐

    正确版本Gadget开发模板

    请大家不要使用以前的了,因为我的一个疏忽导致只是上传了一个文件。这里的版本是正确打包的版本,欢迎大家测试。如果遇到问题请留言或者是发送Email至:tornad133@sina.com,我们一起讨论改进……

    windows gadget示例代码

    windows gadget示例代码

    RNDIS Ethernet Gadget Windows Driver

    今天需要一个Windows版本的Rndis Ethernet Gadget驱动,在CSDN上找了一大撮假的,真是醉了。上传一个测试可用的,刚在Windows 7上测试OK。

    windows sidebar gadget 桌面小工具模板 I

    这是一个 windows sidebar 桌面小工具模板。它本身是一个可以立刻下载并执行的 gadget 小工具,同时也对想制作自己小工具的朋友开放一些新的功能: * 安全性:默认情况下,通过使用 oSync.Local 等语句,小工具...

    Weather.Gadget

    大家安装了正版的简体中文版Windows7旗舰版操作系统,但很多人发现自己的侧边拦windows 7天气小工具不能使用,其他小工具都可以使用,就唯独windows 7天气小工具不能用。 特别咨询过微软技术支持工程师,然后顺利的...

    一个简单的Gadget

    一个简单的Gadget

    Vsita gadget 开发白皮书

    Windows Vista是微软发布的最新操作系统,在多个方面提供了新的功能增强:用户体验、安全性、搜索和组织等。而边栏小工具作为Windows Vista中的一部分,为用户提供了全新的用户体验。随之开发的人越来越多。

    USB-Gadget子系统之 configfs 使用手册

    参照此官方文档,可以在用户空间使用configfs配置内核对象。

    usb gadget serial driver windows(XP)驱动

    usb gadget serial driver windows(XP)驱动

    RNDIS/Ethernet Gadget Driver for Windows 10 X64

    RNDIS/Ethernet 驱动for win10 ,可能设备已经被识别成了串口,要重新安装驱动

    Gadget开发教程+API

    Vista 侧边栏开发的教程,整理网上的一些信息,外加一些常用的API。

    usb gadget driver

    the gadget driver for linux os Linux_USB_gadget设备驱动.pdf USB设备驱动开发深度解析-宋宝华.pdf 嵌入式Linux下USBGadget驱动框架研究.pdf

    USB_download_gadget_mv110_20200420

    USB_download_gadget_mv110_20200420

    windows7 天气工具补丁

    替换路径和使用方法如下:打开Win 7 x64系统安装分区,如C。 安装前先取得原文件夹的管理员使用权限,然后删除这个原文件夹,把下载到的同名文件夹复制到原位上。 Weather.Gadget(3.04M)替换路径: C:/Program Files/...

    Jira的Gadget使用介绍

    Jira的Gadget使用介绍Jira的Gadget使用介绍Jira的Gadget使用介绍

    RNDIS—Ethernet-Gadget

    RNDIS—Ethernet-Gadget

    gadget-2.0.7.tar.gz

    GADGET-2 (GAlaxies with Dark matter and Gas intEracT)是一个极为流行的宇宙学模拟程序,地位大抵类似于量子化学中的Gaussian(貌似),原文见Mon. Not. R. Astron. Soc. 364, 1105–1134 (2005)。它基于多体方法...

    青竹vista边栏工具gadget

    Vista 边栏,Vista Sidebar,Windows 边栏,gadget,边栏开发,边栏小工具下载,gadget API 侧边栏,vista侧边栏,Windows sidebar,工具开发,小工具,青竹边栏,青竹导航边栏, 边栏下载,Gadget下载,vista边栏...

    Linux usb gadget 驱动

    Linux usb gadget 驱动 刘洪涛老师的讲稿,详细整理过的资源。转换为pdf版本。 linux从设备驱动开发的参考资源不多,这是非常好的参考资料。

    常用编程技巧gadget

    常用编程技巧,本章所介绍的技巧是一些使用频率较高的常用技巧,主要包括消息框与对话框的使用、环境变量的利用、日期与时间的处理、字符串的处理以及多线程的实现等内容。

Global site tag (gtag.js) - Google Analytics