对PB11生成WebForm时页面上按钮效果的修改

  PB11能将PB做的C/S程序直接转换成.net2 的B/S应用,即WebForm。应用中发现一些问题,所以需要修改系统带的JS文件以及增加自己的JS处理。
  
  --- 现象
 
  如果窗口上的按钮文字是中文,特别是使用的小字体、按钮高度不足够高时就会出现汉字的顶边被削掉2-3个点的情况,下图是示意:
看起来汉字显示不全,严重影响美观!有意思的是build 6501以前的版本未出现此问题。
 
所以,本人增加了一个函数,在页面初始化后客户端调用如下函数即可解决:
 
function My_AlterButton ( )
{
 var allButtons = document.getElementsByTagName("button");
 for (var i=0; i<allButtons.length; i++)
 {
     oButton = allButtons[i];
     if(oButton.getAttribute("pbtype") =="button")
     {
  oDiv = document.getElementById(oButton.id + "_div");  //图片按钮无ID
  if(oDiv) {
   var wc = document.getElementById(oButton.id + "_div").getElementsByTagName("td")[0];
   wc.style.lineHeight="150%";   //这是影响因素,原始生成的是: line-height:100%
  }
     }
 }
}
 
这是依据PB11生成B/S页面后,按钮在HTML文档中具有如下结构形式编写的:
 
.....
<button pbtype="button" id="xxxx" ....>
  <div id="xxxx_div" .....>
    <table 无ID 无name .....>
      <tr>
         <td ....>按钮文字</td>
      </tr>
    </table>
  </div>
</button>
.......
 
那么这个函数怎么用? 放到哪里去呢?
 
调试中发现,每个C/S窗口生成的B/S页面显示时,都要调用 PBWindows.js 中的 PBWindowManager_Init1 函数,所以,我们可以将它放到这里:
 
//原来的
function PBWindowManager_Init1(strID, strDefaultBtnID, strCancelBtnID)
{
 var oNewWindow = this.Get(strID);
  
 if (strCancelBtnID != "")
 {
  oNewWindow.strCancelBtn = document.getElementById(strCancelBtnID);
 }
 if (strDefaultBtnID != "")
 {
  oNewWindow.strDefaultBtn = document.getElementById(strDefaultBtnID);
 }
}
 
//加了扩充函数的
function PBWindowManager_Init1(strID, strDefaultBtnID, strCancelBtnID)
{
 var oNewWindow = this.Get(strID);
  
    My_AlterButton();
 
 if (strCancelBtnID != "")
 {
  oNewWindow.strCancelBtn = document.getElementById(strCancelBtnID);
 }
 if (strDefaultBtnID != "")
 {
  oNewWindow.strDefaultBtn = document.getElementById(strDefaultBtnID);
 }
}
 
这样扩充后的效果见下图:
 
是不是很正常了!!?
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值