Giter Club home page Giter Club logo

nim_duilib_framework's Issues

按钮的 normalimage 怎么设置可以在按钮内居中显示?

我尝试使用 dest,不能达到居中显示的效果。
xml 如下:

<Button name="testbtn" width="100" height="35" bkcolor="blue" normalimage="file='add_normal.png' dest='0,0,25,25'" hotimage="file='add_hover.png' dest='0,0,25,25'" pushedimage="file='add_pushed.png' dest='0,0,25,25'" />

render.exe被360删掉

问题现象

开着360
运行程序时, CEF render.exe进程会被360报毒杀掉

重现步骤

  1. 开着360
  2. 运行程序

可能和我用的版本有关,移植的之前PCDEMO 中的

发现一个扩展屏大BUG

问题现象

窗口在扩展屏中,点击放大,再点击最小化,再点击还原,发现窗口位置不对,窗口大小超出了屏幕范围
可以用demo中的,CEF、控件例子 做测试

重现步骤

1.把窗口放在第二屏中, 点击放大 再点击最小化
2.点击还原,就会出现这个问题

有一个登录对话框,一个主界面,正确的做法是怎么安排?

比如我有一个登录对话框,一个主界面。先显示登录对话框,登录后,再显示主界面。如果我用ShowModal 显示登录对话框,然后再显示主界面,这样做主界面不会显示出来。

我看了所有的例子,都是在显示一个窗口的,没有显示两个的。所以想问一下正确做法是什么?

2个小问题

1: 最大化窗口后 拖动窗口会还原到原窗口大小,但最大化按钮状态没还原.
2: 我没看源码只编译了例子,layout例子那个 richedit控件应该是输入文本鼠标会消失,

给 HBox 添加 cursortype="hand" 属性,没有效果

问题现象

因为想定义一个这样的控件:
<HBox><Control bkimage='icon.png'/><Label /></HBox>
并且想给Label和 icon 都加上 hand cursor,但是不能给 HBox 加。需要分别给每个控件加。
但是icon 和 Label 之间的空隙是 margin 产生的,没办法添加 hand cursor。
虽然空隙也可以定义一个控件,加上 hand cursor,但是这种方式感觉不好。

重现步骤

Control控件设置alpha值的问题

问题现象

在XML中设置alpha值为102,并且设置了bkimage, 这时显示后是正常的,在程序运行时,在代码中使用SetBkImage重新设置了一张新的本地图片后,就变成空白了,并没有显示新的图片

<Control name="wx_avatar" width="45" height="45" borderround="45,45" halign="center" bkimage="head/default.png" alpha="102" mouse="false" /> 

使用代码设置背景图后就显示异常,如果alpha值为255,则没有问题

m_pControlAvatar->SetBkImage(sLocalAvatar);

父容器尺寸不是根据子元素计算出来的

我按照文档“快速上手”新建一个工程,xml 如下:

<?xml version="1.0" encoding="UTF-8"?> <Window size="500,450" caption="0,0,0,35"> <VBox bkcolor="white"> <VBox name="vbox1" bordersize="2" bordercolor="red"> <Button text="test" height="16" bordersize="1" bordercolor="blue"></Button> <Button text="test" height="16" bordersize="1" bordercolor="blue"></Button> </VBox> <VBox name="vbox2"> </VBox> </VBox> </Window>

运行效果是 vbox1 与 vbox2 的高度是一样的。

想问一下这里必须要设置一下vbox1 的高度吗?有办法让 vbox 的高度等于其子元素的高度之和吗?
谢谢。

浏览器BUG

问题现象

跳转网址不起作用

重现步骤

1.输入biying.com 随便搜索什么,跳出很多网址
2. 点击这些网址,并没有跳转到对应网站,还是停留在当前网页上

关于void Window::Close(UINT nRet)函数的改进

m_pRoot->SetVisible(false);修改成为ShowWindow(false, false);原始只是隐藏根节点,在close中关闭到托盘的时候,第一,这样任务栏还有项,这样点击项并不能打开,体验不好。第二,显示的时候还要操作根节点,我觉得这样代码对于很多人而言还需要找,比较麻烦。

CEF 可否更换更高版本的

2326对应谷歌49版本 有点太低了, 有些浏览器新功能不支持
不知道,能否在开发版本中,提供个高版本的cef

如何定义给一个带有滚动条的 VBox

我定义了一个带滚动条的 VBox 类,如下:
class CustomScrollVBox : public ui::ScrollableBox { public: CustomScrollVBox() : ui::ScrollableBox(new ui::VLayout()) { } };
然后CreateControl 也正确调用了。
xml 定义如下:
<CustomScrollVBox halign="center" width="350" margin="0,20,0,0" height="300" vscrollbar="true">

但是没有效果,滚动条不出现。
请问我哪里写的不对啊?

建议增加一个类似 spy++ 的功能

比如在窗口上,给鼠标所在的控件增加边框,并且有一个提示框显示当前控件的 xml 内容。
增加功能原因:
1.
在参考其他项目的时候,找 xml 有些麻烦,新手更不容易快速定位到。
2.
在自己写代码的时候,也容易看到控件显示的位置。

单击 Combo 控件,程序崩溃

问题现象

重现步骤

在例子 controls 工程 controls.xml 里添加一个 Combo 代码,如下:
<!-- Option --> <VBox> <Option class="circle_option_2" group="option_group" text="option1" margin="0,3,0,10" selected="true"/> <Option class="circle_option_2" group="option_group" text="option2" margin="0,3,0,10"/> <Option class="circle_option_2" group="option_group" text="option3" margin="0,3,0,10"/> </VBox> <!--我是添加的COMBO--> <HBox> <Combo height="30" bordersize="1" bordercolor="red"> <ListContainerElement height="20" text="t1" /> <ListContainerElement height="20" text="t1" /> </Combo> </HBox> <!-- List --> <VListBox class="list" name="list" padding="5,3,5,3">
2.
点击 Combo 就会崩溃。
3.
在这里崩溃了
CPoint ptOldOrg = pRender->OffsetWindowOrg(ptOffset);

颜色值设置问题

问题现象

<HBox width="stretch" height="35" bkcolor="#ff0E8EE7">

bkcolor 不能这样设置吗

这样设置就直接报错了

CEF 不能播放mp4

问题现象

测试国内的视频网站(爱奇艺、腾讯视频、优酷、bilibili)基本播放不了。YouTube可以。
使用samples/cef 打开以下链接:
https://www.bilibili.com/blackboard/html5playerhelp.html
检测,提示不支持mp4播放。看网易云信的文档:cef2623版本可以直接支持mp3、mp4播放

请问需要做什么操作才能开启mp4支持?

image

multi_browser工程的flash问题;

问题现象

打开多个页面,关闭正在播放的flash页面,flash仍然在运行;

重现步骤

1.官网安装最新版flash,查看C:\Windows\SysWOW64\Macromed\Flash\PepperFlash\pepflashplayer.dll;是否存在;

2.在void ClientApp::OnBeforeCommandLineProcessing(const CefString& process_type, CefRefPtr command_line)函数中增加

 //允许使用系统flash;
 //command_line->AppendSwitchWithValue("--enable-system-flash", "1");

2.运行multi_browser工程,打开www.bilibili.com,运行其中有声音的视频,关闭此标签页,问题重现

高DPI字体显示模糊问题

问题现象

高DPI,采用缩放时,字体显示模糊。(4K 250%缩放)。
image

重现步骤

1.在高分屏上,设置缩放,运行项目中的例子。

PS:因为我只是喜欢做自己一些小软件的开发,不是专门做这块的,了解其实并不是很多,昨晚通过duilib找到这里,克隆之后运行起来,发现挺好看的,而且文档也好,就是高DPI字体显示有问题,可以给个解决方法吗?麻烦说得简单一点,太专业我可能不了解,谢谢大佬。

离屏渲染模式输入法位置不正确问题

问题现象

使用离屏渲染模式,WEB页面的编辑框输入时候输入法的位置不正确,无法显示在WEB页面内

重现步骤

1.simples的例子cef修改const bool kEnableOffsetRender = true;
2.WEB页面的编辑框输入中文可以看到输入法位置不能显示在整个CEF区域

真窗口模式下的输入法位置
cef-真窗口

离屏渲染模式下的输入法位置

cef-离屏模式

Controller中的float属性没有作用

问题现象

<Label name="test_label" text="helloworld" float="true" normaltextcolor="black" width="80" height="30" />

重现步骤

  1. 不显示Label
  2. 而且不能设置位置
  3. 增加floatalign和pos属性
  • name="float" default="false" type="BOOL" comment="是否使用绝对定位,如(true)"
  • name="pos" default="0,0,0,0" type="RECT" comment="位置,如果为float控件则指定位置和大小,否则只指定大小,如(0,0,100,100)"
  • name="floatalign" default="" type="STRING" value="left,right,center,top,bottom,vcenter" comment="用于控制float控件先对于父控件的对齐方式(left\center\right、top\vcenter\bottom)

WindowsManager::SingletonShow 设置的 win_id 无效

问题现象

当调用 WindowsManager::SingletonShow 创建窗口,给第一个参数设置窗口 id。
然后在其他地方用这个 id 调用函数 WindowsManager::GetWindow,返回的窗口指针是空的。

重现步骤

调试发现:

bool WindowEx::RegisterWnd()
{
	std::wstring wnd_class_name = GetWindowClassName();
	std::wstring wnd_id = GetWindowId();
	if (!WindowsManager::GetInstance()->RegisterWindow(wnd_class_name, wnd_id, this))
	{
		return false;
	}
	return true;
}

窗口创建的时候,调用的是 GetWindowId(), SingletonShow 设置的 id 没有被用上。

DPI 文本缩放更改时崩溃

问题现象

启用DPI后 ,改变文本缩放比例时 出现崩溃

重现步骤

  1. 启用dpi, 改变显示器文本缩放比例

我查了下崩溃dump,在这里
image

改的话,只需要加下判断就可以么,还是还有什么相关项,我是加了下判断,能继续执行了,但不知有无隐患
image

Event事件 同名控件问题

比如,我想实现关联操作,选中第一个的某个option, 第二个盒子中的也同样选中, 反之亦然, 但是两个option名字是相同的,
这种情况下,全局的my_option 肯定是两个VBOX的某一个 ,比如是第一个的话,则点击第一个时, 第二个盒子并没有被关联

能不能除了全局、 .\ 可以扩展成 某个父节点下的定位 比如 test\my_option 这样的,如果能扩展成这样,就没这个问题了

发现一个BUG

问题现象

CEF 离屏模式下, 网址输入框 是半透明的 ,将shadowattached="false" 改为true 时 才正确

重现步骤

  1. CEF 离屏模式
  2. CEF示例 网址输入框 输入文字时,色彩根据背景色改变 ,好像加载新网页时,下面的网页部分也完全透明,加载成功后,才正常显示

布局不支持比例么

比如一个水平布局中,有两个子布局,第一个占3/4宽度 第二个占1/4宽度

这样的如何设置好呢

是否支持64位

  • vs2017版最新编译
    我使用64位编译会报一大堆错误
    而且不论32位或64位都看到有很多强制转换类型 还有很多其它警告.在64位可能会出错。

HBox 添加buttondown 事件 不起作用

          <HBox name="stdHBox" hotcolor="bk_menuitem_hovered" height="auto" padding="10,10,60,10" borderround="5,5" bordersize="1" bordercolor="lightcolor4" mouse="true">
              		      		   
              <Option class="circle_option_yellow" text="标准连麦" name="standard_option" group="layout" valign="center" margin="20,0,0,0" name="std_layout"/>
              <Control />
              <Button name="standard_option" bkimage="standard_int.png"  width="auto" height="auto"/>
            <Event type="buttondown" receiver=".\std_layout" applyattribute="selected=&quot;true&quot;" />
                             
          </HBox>

EVENT事件不起作用 ,调试发现,刚开始时XML加载了该事件,但handlemessage时,事件又没有了,不知道怎么回事

tool_kits里的base怎么编译成动态库

一直想写个工具库,功能用NIM_PC_Demo的太重了好多用不上,自己整合编译dll一直error,奈何是做web开发的...想请教tool_kits里的base怎么编译成动态库,或tool_kits里其他的组件to dll....

某些电脑下 弹窗窗口不稳定,显示不出 或半透明 或各种问题

问题现象

在MAC双系统下 或 老电脑下 弹窗窗口显示有问题 尤其是debug环境下,在某些电脑上经常出现

之前提过一个issue 不过当时不知道怎么复现的, 现在知道复现原因了
不过那个 issue关闭了,不知道怎么打开

重现步骤

复现了
使用网易纯直播demo

https://yx-web-nosdn.netease.im/package/LiveStreaming_Windows_Demo_v2.7.0.zip?download=LiveStreaming_Windows_Demo_v2.7.0.zip

添加进采集系统声音后, 点击关于, 这个弹窗就会出现黑色、或不出现等问题

debug下,频繁出现 release下 大部分机子正常 ,但有些机子也会出现弹窗窗口 不能显示等问题

很奇怪 这个采集系统声音API 会影响到UI,我把它改到其它线程执行,也没效果

59147932-64778e00-8a34-11e9-8c7e-1aa991f6131d

cef退出导致崩溃

问题现象

Samples里面的cef demo与qq拼音输入法冲突。退出导致崩溃

重现步骤

1.切换当前输入法为qq拼音输入法。退出导致崩溃,
2.切换为其他输入法则退出正常。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.