Ext window的大小与屏幕匹配(转)

Ext window的大小与屏幕匹配(转)

各种取得宽高值的方法:

网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth (包括边线的宽)
网页可见区域高:document.body.offsetHeight (包括边线的宽)
网页正文全文宽:document.body.scrollWidth
网页正文全文高:document.body.scrollHeight
网页被卷去的高:document.body.scrollTop
网页被卷去的左:document.body.scrollLeft
网页正文部分上:window.screenTop
网页正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidth
HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量
IE,FireFox 差异如下:
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)
1.function resize(){  
2. var win = Ext.fly('窗体对象组件');//获得要调整的窗体,注意这里先用Ext.fly的方式来获取组件
,如果不行再换别的,如getCmp,get等  
3.//然后参考 http://www.javaeye.com/topic/155981 这篇博客,来动态设定组件的大小  
4.
5.}  
6.window.onresize = resize;  
7.          
8.Ext.onReady(function(){           
9. resize();  
10. //.....  
11.}
Ext.onReady(function(){
formWindow = new Ext.Window({  
                    layout:'fit',
                    width:480,
                    height:360,
                    resizable:true,
                    closeAction:'close',
                    plain: true,
                    maximizable: true,
                //  minimizable : true, // 最小化
                    listeners: {
                        close:function(w){
                            //关键部分:关闭窗口前先还原,滚动条才不会消失
                            w.restore();
                        },
                        maximize:function(w){     
                            //关键部分:最大化后需要将窗口重新定位,否则窗口会从最顶端开始最大化                         
                            w.setPosition(document.body.scrollLeft-4,document.body.scrollTop-4);
                        }
                    }
});
formWindow.show();
})

 

### Clutter-WARNING LTR翻译问题、Gdk-WARNING大窗口高度以及Cheese-WARNING JPEG解码错误解决方案 #### 关于Clutter-WARNING LTR翻译问题 Clutter库中的LTR(Left-to-Right)警告通常布局方向有关。如果应用程序未正确设置文本或UI组件的方向,则可能会触发此警告。可以通过显式设置布局方向来解决该问题: ```c clutter_text_set_direction (CLUTTER_TEXT (text_actor), CLUTTER_TEXT_DIRECTION_LTR); ``` 这可以确保文本渲染遵循左到右的规则[^1]。 #### Gdk-WARNING关于大窗口高度的问题 当创建非常大的GTK/GDK窗口时,可能遇到内存分配失败或其他限制条件引发的警告。这种情况下,建议检查窗口大小是否合理,并尝试调整其尺寸以适应屏幕分辨率。例如,在初始化窗口时可指定最大宽度和高度: ```c gdk_window_resize(gtk_widget_get_window(GTK_WIDGET(window)), width, height); if(width > gdk_screen_width() || height > gdk_screen_height()){ // Handle resizing logic here. } ``` 上述代码片段展示了如何动态调整窗口大小至适合当前显示器的能力范围之内。 #### Cheese-WARNING JPEG解码错误及invalid component ID SOS处理方法 对于cheese工具报告出来的JPEG解码错误,“invalid component ID SOS”,这是由于输入图像文件损坏或者编码不符合标准所引起的。要修复这个问题可以从源头上验证图片质量开始;另外也可以通过修改GStreamer插件参数来增强鲁棒性。下面是一个简单的例子展示如何配置GStreamer管道以便更好地应对不良数据流情况: ```bash gst-launch-1.0 filesrc location=input.jpg ! jpegdec ! videoconvert ! autovideosink ``` 在这个命令行中我们使用了`jpegdec`元素来进行基本级别的JPEG解码操作。为了进一步提高稳定性可以在pipeline定义里加入额外选项比如忽略某些特定类型的错误消息等: ```c GstElement *pipeline; /* Setup pipeline */ ... g_object_set(G_OBJECT(jpeg_decoder_element),"error-on-corrupt",FALSE,NULL); /* Disable stopping on corrupt data */ ``` 以上措施有助于减少因轻微格式不匹配而导致程序崩溃的风险。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值