zoukankan      html  css  js  c++  java
  • 文件浏览器的问题之四

    时间:11:33 2010-8-31

    环境:
    开发环境:VS2008 +XAML2CPP.EXE + SWE 2 + BLEND 2
    运行环境:WINCE 6.0 R3
    硬件加速: DirectX

    文件类型的过滤

    图片文件的显示

    动画

    其应该要使用策略模式与组合模式。

    当前急需要解决的问题是什么呢。

    UI:
    1.  存储介质选择界面
    2. 文件浏览界面
    3. 当前路径提示栏界面
    4. 图片浏览窗口
    5. 图片浏览窗口的控制。
    6. 文件类型过滤栏

    总个软件其采用什么样的组织结构呢。

    采用MVC

    对于UI 其是要怎么样来组织呢
    采用一个Shell UI, 其他UI XAML 当作自定义控件添加进去。

    各个UI XAML是怎么样进行的显示的呢:
    MS的SWE开发人员其是处理流程如下:
    创建一个WIN32窗口,唯一的窗口
    将一个PAGE.XAML 解析成一个VISUAL HOST.
    其他XAML文件解析成一个自定义控件 添加到VISUAL HOST 当中得到显示。

    在具体的实施过程当中,一般添加一个SHELL UI XAML来作为VISUAL HOST 的总代理。也就是其他XAML均是

    添加到SHELL UI当中。

    UI XAML 之间是怎么样进行通信的呢或者是怎么样控件其的数据流的呢。

    MS的SWE开发人员对于UI XAML之间的通信的模式: 采用委托机制。可以自己定义一个委托。然后在相关事件

    代码当中调用。

    问题:
         在SWE 当中,SHELL UI 其是否从PAGE.XAML当中分离出来。

    问题:   
        分页浏览控件的制作

    从上到下分析:
    BUTTON 的设置 ENABLE
    TEXTBLOCK 设置数值

    内容的添加。
    内容的播放方式。

    ==> 对于控件的的高级操作。

    分页控件(PageBrowser)
          其能够完成任务,但其不能够自行运动,要由CONTROLLER来调遣。==> 所有的类其实际也要由

    CONTROLLER来调遣。其与CONTROLLER之间使用 Dependency injection 来保持通信,与控件之间用委拖

    (DELEGATE) 来进行通信。

    分页控件(PageBrowser)
        其要保存一份数据。

    问题:
        创建一个自定义元素,向Canvas容器当中添加此元素,但其没有显示。
    解法:
        通过创建一个内置控件(如BUTTON),看能否创建成功

    [小插曲] 吃饭了,回的时候停电了,幸好有一个按ctrl+s的习惯。

    时间:8:55 2010-9-1

    问题:
        IXRApplication::CreateObject 创建失败

    解法:
        试一下在XAML当中定义能否编译通过。

    问题:
    -2142830588
    其是没有UI element的错误
         if (FAILED(retcode=root->FindName(L"canvasPage",&canvasPage)))
                        return retcode;

    问题:
        设置ZIndex
    解法:
        this->SetAttachedProperty(L"Canvas.ZIndex",100); 其不要求element 所在的容器一定要为Canvas.

    问题:
        读取控件当中BSTR 类型的数据
    解法:
         {
            IXRDependencyObject* source
             CString name;
             BSTR value;

             source->GetName( &value);

             name = value;
             SysFreeString(value);

             MessageBox(NULL,name,L"TIPS",MB_OK);
        }

    问题:
        编写代码,为什么不能一次编译通过
    解法:
        1. 要返回值的没有写返回值

    在开发的过程过程,应该分清楚主次,将主要功能实现在说。

  • 相关阅读:
    Linux内核驱动--硬件访问I/O【原创】
    Linux内核驱动--mmap设备方法【原创】
    Linux系统调用的运行过程【转】
    蓝牙Bluetooth技术手册规范下载【转】
    FarBox--另类有趣的网站服务【转】
    蓝牙HID协议笔记【转】
    linux 串口0x03,0x13的问题【转】
    CC254x/CC2540/CC2541库函数速查(转)
    BLE获取iphone mac地址的方法--【原创】
    用secureCRT操作ubuntu终端
  • 原文地址:https://www.cnblogs.com/pengxinglove/p/1815204.html
Copyright © 2011-2022 走看看