项目过程中,有c++控件,层级问题的解决
2015-10-13 09:25
351 查看
首先要明白,同类的层级是可以通过z-index来控制;但非同类之间的层级的关系:
c++控件>div;
但是在使用过程中,如何合理控制各个之间的关系呢?
如我曾经碰到过一个问题;是控件放在弹出框中;但2个弹出框同时打开时,并相互移动,将一个弹出框放在另一个弹出框之上,问题就来了。上面的弹出框能遮挡住下面的弹出框的头部,也就是只能遮挡住头部的div,不能遮挡内容的控件。为什么会有这种情况呢;原来我们的弹出框是可以根据弹出顺序,有个层级顺序,但控件之间的的层级也是根据弹出顺序有关,不同的时,先弹出的层级更高。这就导致了下图的现象
那么这样的问题,该怎么解决呢?
方法:咱们先引入一个iframe.因为,irame的层级高于c++控件;即iframe>c++控件;控件>div;但div 是可以遮挡iframe的。即咱们通过iframe包装下控件,就ok了。
碰到的第二个问题,页面主要是c++控件,但偶尔需要弹出框。控件会一直遮挡弹出框。怎么办?
解决方法:
在执行弹出框时,对控件进行visibility:hidden;(记住不能使用display:none的show和hide的方式;因为当你弹出框关闭时,会二次加载控件,肯定是不行的)
并通过回调函数的形式写弹出框,即对js进程进行阻塞进程,只用当确定按钮点击后,再对c++控件进行visibility:visible
c++控件>div;
但是在使用过程中,如何合理控制各个之间的关系呢?
如我曾经碰到过一个问题;是控件放在弹出框中;但2个弹出框同时打开时,并相互移动,将一个弹出框放在另一个弹出框之上,问题就来了。上面的弹出框能遮挡住下面的弹出框的头部,也就是只能遮挡住头部的div,不能遮挡内容的控件。为什么会有这种情况呢;原来我们的弹出框是可以根据弹出顺序,有个层级顺序,但控件之间的的层级也是根据弹出顺序有关,不同的时,先弹出的层级更高。这就导致了下图的现象
那么这样的问题,该怎么解决呢?
方法:咱们先引入一个iframe.因为,irame的层级高于c++控件;即iframe>c++控件;控件>div;但div 是可以遮挡iframe的。即咱们通过iframe包装下控件,就ok了。
碰到的第二个问题,页面主要是c++控件,但偶尔需要弹出框。控件会一直遮挡弹出框。怎么办?
解决方法:
在执行弹出框时,对控件进行visibility:hidden;(记住不能使用display:none的show和hide的方式;因为当你弹出框关闭时,会二次加载控件,肯定是不行的)
并通过回调函数的形式写弹出框,即对js进程进行阻塞进程,只用当确定按钮点击后,再对c++控件进行visibility:visible
相关文章推荐
- 程序设计基石与实践系列之C语言未定义行为一览
- C语言一个队列的实现
- 理工科应该的知道的C/C++数学计算库(转)
- C 从标准输入读取字符串.
- C语言复习之---链表
- C++之文件重定向 通过txt读入数据和txt写数据
- C++基础---typedef struct与struct的区别
- hdoj 2036 改革春风吹满地 C++
- C++ Template 模版中的名称(笔记)
- C++ 对象的内存布局【转载】
- C语言逻辑非运算符的含义
- 2015-10-13 OC语言中的复合
- leetcode笔记:String to Integer (atoi)
- 交换两个数的C语言程序
- hdoj 2035 A^B C++
- C++ :顺序容器、关联容器
- 递归函数的使用-以C++语言为例
- HDOJ 2034 A-B c++
- c++ primer第五版(中文)习题答案 第十章第四节第一小节-插入迭代器
- c++特殊函数