zoukankan      html  css  js  c++  java
  • PowerBuilder编程新思维4:钩挂(界面美化与DirectUI)

    <第二部分 Outside>

    PowerBuilder编程新思维4:钩挂(界面美化与DirectUI)

    PB的界面由于其封闭性,一直以来都是最大的弱项。自PB9.0开放了PBNI接口后,开始流行起来一些界面美化方案。目前来看,共分三类。

    PB界面美化方案一:Canvas自绘

    PBNI接口允许创建自绘组件,开源软件Kodigo创造了Canvas组件,允许PB代码自绘组件界面,由此开创了Canvas自绘方案。当前比较流行的组件库有:

    一、Kodigo

    二、AdvancedGUI

    三、PowerFramework

    这种方案的优点是体系化,定制化。缺点是较慢(数十数百个Canvas自绘),高侵入性(必须使用定制组件)。

     

      

    PB界面美化方案二:窗口换肤

     这种方案可以用于多种开发语言和工具,其原理是劫持窗口消息,完全自绘窗口。所以界面完全与业务代码分离。优点是使用方便,侵入性最低。缺点是定制困难。

     支持这个方案的基本是商业工具,开源且较为完备的有SkinTK V0.20。

    PB界面美化方案三:Hook + DirectUI

    这种方案正是PowerPlume所采用的方案,与前两个方案比较起来,综合了两者的优点。ApiHook可以使用任意现有窗口,无需继承,使得侵入性降低,同时又可以定制其内容,避免了内容雷同的换肤。DirectUI技术(使用Duilib库)允许在同一窗口创建多个组件,避免了众多Canvas组件带来的性能压力。

    接口也相对简单,一种组件只需一个接口

    duistartup(256)
    
    drawbarcode(st_bc1, "qr", "12345678", "")
    drawbarcode(st_bc2, "ean", "12345678", "")
    
    drawimage(cb_img, "png", "Google", "")
    drawimage(cb_img_v, "png", "Google", "")
    drawimage(pb_img, "baidu", "Baidu", "")
    
    drawicon(st_ico, "female", "female", "")
    drawicon(st_ico2, "male", "male", "")
    drawicon(cb_ico, "star", "star", "")

     源码: PowerPlumeDemoV0.4.1.rar

     提供了PB10.5 PB11.5 PB12.5三个版本

    <本节完>

  • 相关阅读:
    如何快速部署Oracle Database
    有关Oracle统计信息的知识点
    索引的重建
    利用Openfiler配置基于文件系统的网络存储
    Linux命令(007) -- systemctl
    使用mysqldump导出数据库(表)
    文件处理.Windows.Fastcopy.3.50.x64.文件复制简体中文破解版(验证版)
    oracle 修改数据 保险方法
    oracle存储过程、声明变量、for循环--后期添加游标 if 、decode、 case when
    Oracle 游标使用全解
  • 原文地址:https://www.cnblogs.com/windfic/p/10360188.html
Copyright © 2011-2022 走看看