对PB11生成WebForm时页面上按钮效果的修改
来源:互联网 发布:网络购票身份证待核验 编辑:程序博客网 时间:2024/06/05 15:23
对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;
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);
}
}
这样扩充后的效果见下图:
--- 现象
如果窗口上的按钮文字是中文,特别是使用的小字体、按钮高度不足够高时就会出现汉字的顶边被削掉2-3个点的情况,下图是示意:
看起来汉字显示不全,严重影响美观!有意思的是build 6501以前的版本未出现此问题。
所以,本人增加了一个函数,在页面初始化后客户端调用如下函数即可解决:
function My_AlterButton ( )
{
var allButtons = document.getElementsByTagName("button");
for (var i=0; i<allButtons.length; i++)
{
oButton = allButtons;
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);
}
}
这样扩充后的效果见下图:
- 对PB11生成WebForm时页面上按钮效果的修改
- pb11+webform 开发出来的页面上的datawindow 及 单行输入框的回车键问题
- PB11下的WebForm客户端打印输出的处理
- PB11-webform下DW中回车键的解决
- PB11 WebForm方式下messagebox的本地化处理
- WebForm框架页面上js修改服务端控件导致后台不能正确获取到控件值的问题【总结】
- 关于PB11的Webform方式下客户端代码的深入编程
- 【转贴】关于PB11的Webform方式下客户端代码的深入编程
- PB11从C/S结构转到B/S结构时数据库连接不上问题的解决
- 刷新按钮在actionbar上的效果
- 在webform中巧用事件进行对页面代码与后台代码的脱离
- 修改按钮控件上的字体
- Android 代码修改按钮上的图片
- jQuery__修改页面的外观效果
- WooCommerce——怎么修改产品列表页面中每个产品下面的Read More按钮上的文字
- webform页面间传值的特殊方法
- myeclipse中修改JSP页面后浏览时没有显示修改后的效果解决
- 取WebForm上HTML元素的Value
- 谷歌宣布开发PC操作系统 直接挑战微软核心业务
- 3G资费下调暗藏玄机
- 开发人员一定要加入收藏夹的网站收藏--good
- 关于索引节点(inode,也叫i节点)、硬链接和软链接的一些总结,请指正。
- access导出表结构
- 对PB11生成WebForm时页面上按钮效果的修改
- 谷歌官方博客:Chrome操作系统今年将公开源码
- 维基与国家巧实力
- 淘宝会不会毁了携程?
- 浏览网页时(执行复制、剪贴)弹出“是否允许该页从您的剪贴板粘贴信息”对话框
- sql server 2005中获取表的表名和说明
- VS2005 C#WinForms控件 的一些属性
- linux截断文件的方法
- 周鸿祎:谷歌Chrome不是浏览器