`
terryfeng
  • 浏览: 511433 次
  • 性别: 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的介绍

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

    windows phone 7 Gadget 模板

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

    Calandar.gadget.zip

    在深入分析这个小工具时,我们可能会关注以下几个方面: 1. **编程语言和技术**:由于提及了"Apache",我们可以假设这个小工具可能使用了JavaScript(可能配合HTML和CSS)来构建用户界面,因为这是许多桌面小工具的...

    USB芯片资料及开发工具

    在实际项目中,USB设备的开发流程大致包括以下几个步骤: 1. **需求分析**:明确USB设备的功能和性能要求。 2. **选择USB芯片**:根据需求选择合适的USB控制器或集线器芯片。 3. **设计电路**:依据芯片的数据手册...

    win7桌面小工具

    标题“win7桌面小工具”指的...虽然Windows 8及更高版本已移除该功能,但在Windows 7系统中,这些小工具仍然是许多用户喜欢的个性化和实用性元素。通过合理利用这些小工具,用户可以定制一个既实用又个性化的桌面环境。

    RNDIS配置主机和从机

    - 通过系统设置进入Windows更新,在高级选项中选择恢复,然后进入高级启动,选择立即重启。 - 另一种方式是通过快捷键在开始菜单中直接进入高级启动选项。 - 在高级选项中,进入启动设置,重启机器,进入禁用驱动...

    USB.rar_USB编程_C/C++_

    在USB编程中,有以下几个核心知识点: 1. **USB协议**:理解USB 1.1、2.0、3.0及更高版本的协议规范,包括速度等级(低速、全速、高速、超高速)、设备类定义、传输类型等。 2. **USB设备堆栈**:包括设备枚举过程...

Global site tag (gtag.js) - Google Analytics