`
terryfeng
  • 浏览: 504161 次
  • 性别: 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");
        }

分享到:
评论

相关推荐

    windows gadget示例代码

    总的来说,"crypto.gadget - 副本"的代码分析将涵盖Web开发、加密技术、操作系统交互等多个IT领域的知识,对于学习和理解Windows Gadget的开发具有一定的价值。尽管Windows Gadget已不再被官方支持,但其背后的编程...

    RNDIS Ethernet Gadget Windows Driver

    在"RNDIS Ethernet Gadget Windows Driver"这个主题中,重点是关于在Windows操作系统上安装和使用RNDIS驱动程序,以便于通过USB连接将设备作为网络设备来使用。在描述中提到的情况,用户可能遇到在CSDN等平台上寻找...

    Gadget开发教程+API

    在Windows Vista系统中,侧边栏是一个非常独特的功能,它允许用户在桌面的一侧放置各种小工具,称为Gadgets,以提供实时信息、天气预报、日历等实用功能。本教程将深入探讨如何开发Vista侧边栏Gadgets,并结合API的...

    Vsita gadget 开发白皮书

    ### Vsita Gadget 开发白皮书解析 #### 一、Windows Sidebar 自带的Gadget Windows Vista 的推出标志着微软操作系统的一个新阶段,其引入了一系列创新功能,其中最为人称道的是 Windows Sidebar 和其上运行的 ...

    正确版本Gadget开发模板

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

    usb gadget serial driver windows(XP)驱动

    解决这些问题通常需要检查硬件连接、驱动版本、USB控制器兼容性以及系统设置。有时,更新BIOS或者安装USB驱动更新也可能有所帮助。 总的来说,USB Gadget Serial Driver是Windows XP系统中连接和管理USB Gadget设备...

    RNDIS/Ethernet Gadget Driver for Windows 10 X64

    在"RNDIS/Ethernet Gadget Driver for Windows 10 X64"这个主题中,我们关注的是在64位版本的Windows 10上安装和使用RNDIS驱动程序。有时,当你的USB设备连接到电脑时,它可能会被错误地识别为串口,而不是网络设备...

    Weather_download1.gadget.rar_gadget

    标题中的“Weather_download1.gadget.rar_gadget”表明这是一个与天气相关的Windows小工具,它被压缩在RAR文件中。小工具(Gadget)是Windows操作系统中的一种桌面增强应用,通常用于提供实时信息或便捷功能,比如...

    一个简单的Gadget

    然而,由于安全考虑,现代操作系统已不再支持这种类型的Gadget,取而代之的是更安全的应用程序接口(API)和平台,如Windows UWP(通用Windows平台)应用。 这个"一个简单的Gadget"可能是开发者为某种特定目的...

    Jira的Gadget使用介绍

    1. 项目Gadget:列出您所关注的项目,并在每个项目后面自动配置常用的报告和过滤器,方便每个项目的查看和管理。 2. Road Map Gadget:列出指定项目从开始到现在的版本信息:版本号、版本发布时间、创建和解决的问题...

    RNDIS—Ethernet-Gadget驱动

    在Windows操作系统中,RNDIS被广泛支持,因此当Linux设备通过RNDIS Ethernet Gadget驱动模拟出一个USB以太网设备时,可以无缝地与Windows系统进行通信,无需额外安装驱动程序。这对于开发、调试或在无网络接入的环境...

    USB Ethernet/RNDIS Gadget Drivers

    RNDIS是由Microsoft开发的,它定义了一个接口,使得USB设备可以作为一个网络设备来使用,而无需直接支持以太网协议。这种功能对于嵌入式系统特别有用,例如树莓派或其他小型计算机,它们可以通过USB来扩展网络连接...

    小工具Gadget的介绍

    Gadget本质上是一个特殊的“网页”,由以下几部分组成: - **Gadget.xml**:作为入口文件,定义了Gadget的基本信息,包括主机名、类型、API版本和主HTML文件路径等。 - **HTML文件**:负责呈现Gadget的界面和内容...

    windows phone 7 Gadget 模板

    Windows Phone 7 (WP7) 是微软为智能手机推出的一个操作系统版本,主要针对移动设备提供服务。在WP7平台上,开发者可以利用Visual Studio 2010这一强大的开发工具来创建各种应用程序,包括Gadget(小工具)应用。...

    Linux下关于USB Gadget驱动框架简介

    配置USB Gadget驱动框架通常涉及以下几个步骤: 1. 加载必要的Kernel模块:根据要模拟的设备类型,加载对应的Kernel模块,如gadgetfs、usb_gadget、g_mass_storage等。 2. 创建Gadget:使用udev规则或编程方式创建...

    Linux usb gadget 驱动

    具体实现包括以下几个关键步骤: 1. **UDC配置**: 初始化UDC,配置其寄存器以正确地响应USB总线上的信号。 2. **Function定义**: 定义Function来模拟特定的USB设备行为。例如,一个Function可以定义为一个U盘,它...

    Gadget Serial Control

    在实际应用中,Gadget Serial Control常见于嵌入式系统开发、移动设备的软件调试、物联网(IoT)设备的通信,以及任何需要通过USB进行串行通信的场景。例如,Android开发者可能利用这个功能通过USB连接将Android设备...

    USB_download_gadget_mv110_20200420

    1. **驱动程序代码**:这部分代码使操作系统能够识别并与MV110设备通信,可能是针对特定操作系统的,如Windows、Linux或Mac OS。 2. **固件更新程序**:这部分代码负责将新的固件或软件更新推送到MV110设备上。它...

    window7下的天气替换文件Weather.Gadget

    值得注意的是,Windows 8及更高版本的操作系统已不再支持桌面小工具,因此这种替换方法只适用于Windows 7用户。 在压缩包子文件的文件名称列表中,我们看到只有一个文件“Weather.Gadget”。这个文件是天气小工具的...

    Gadget新手上路 这些小程序是Windows Vista边栏强大的扩展,早期版本的Windows也能方便地获取.zip

    在Windows操作系统中,Windows Vista引入了一项创新特性——边栏(Sidebar),这是一个固定在屏幕一侧的小工具集合区域,用户可以通过安装各种小程序(Gadgets)来增强系统的实用性和娱乐性。Gadgets作为桌面小部件...

Global site tag (gtag.js) - Google Analytics