自己做一个输入控件实在太困难了。。
还是试着将Qt的文本那部分移植过来吧。。。但是Qt text文件夹里面有将近100个文件啊。。坑爹咩。。。
还是试着将Qt的文本那部分移植过来吧。。。但是Qt text文件夹里面有将近100个文件啊。。坑爹咩。。。
文本输入真是让人头大啊。。
我是希望能直接clone Qt的文本系统的。。。可惜它太过复杂了。。。。。
恐怕目前就只有微软的windowless RichEdit和纯WinAPI手工打造,这两个选择了。
之前有一个人说他也想贡献代码,但是用Git不方便。然后我就想,既然有人愿意一起写代码,就转移到google code,方便一下他吧。然后结果是过了N久都没有看见他有任何的动作。然后想想,其实在中国,真有哪些人愿意贡献代码啊。群里面那帮人也是,只是想用,却没想过贡献。所以索性就关闭了Google Code的仓库,现在就只剩下Git的仓库了。
以后恐怕甚至也会关闭Git的仓库,只要fork的人多,而没人贡献的话,就必然会关闭。虽然我都未曾为Qt贡献过代码。但毕竟人家是有Nokia在撑腰,而且又有商业模式。但是MetalBone仅靠我一个人来做[......]
Skia编译的时候几乎不管UNICODE这个宏定义。而且编译它的时候不要定义UNICODE。
但是这样怎么能画出wstring呢?
可以这样:
SkPaint paint;
paint.setTextEncoding(SkPaint::kUTF16_TextEncoding);
然后将这个SkPaint传入SkCanvas的drawText()函数:
void SkCanvas::drawText(const void* text, size_t byteLength, SkScalar x, SkScalar y, const SkPaint& paint);
Skia就[......]
不知道是不是更新了驱动的问题。现在MetalBone的Demo程序的Private Bytes居然高达70。。专用工作集也要20M,这样我用Qt不还更好么。。。虽然在不支持WDDM的台式机上面,Private Bytes没那么高,专用工作集也稍微低了几M。但是这样真的不可靠。
其实本来硬件加速什么的只不过是噱头。普通应用程序根本不需要这么高速的绘制。。。看来还是用google的skia好了。。
《C钱未来式》里面有一集,那个情报商说,“信誉最值钱。你为什么会来我这里买情报,是因为有三国先生的推荐。为什么会相信我的情报,还是因为我有信誉。”
在我看来,我们在上的大学本来几乎毫无价值,但是为什么我们还是要上?因为它本身是一种信誉。尽管大学生遍地都是,但是招聘的人想,你最起码要有这个信誉,我才能够相信你可能是个人才。你连这个信誉都没有,我怎么能相信。
那么还是不要怨恨大学,要怨恨的就怨恨那些让大学变成这种没有实际价值的信誉的人。
先上图:
图一是photoshop效果。
图二是之前的效果。
图三是现在的效果。
之前没有实现渐变功能,所以整个滚动条是用一个border-image来做的,跟photoshop效果相比,差别在于渐变没有了,而且图一那里有一些一深一浅的效果,图二也没有。
图三的滚动条是用了三层来做的,最低一层是一深一浅的效果(由于在上面叠加了两层,比较模糊),第二层是渐变颜色,由紫红色变成紫色,第三层是左边的高亮(这个是用border-image来做的),所以实际上是用了两个background,一个border-image。
要达到这样的效果,在MetalBone里面也就只需要写几行CSS:
#MScro[......]
好歹将MetalBone放在二三页好不好啊,G大。。。真希望有更多的人青睐。。自认为不比Duilib差,甚至比他要优越不少,毕竟是抄Qt的API。可能是Direct 2D搞得无人问津。。但是Win8都要来了。。xp都是十年前的产物了,老大们。
等待@jmorrill放出C++版本的DirectCanvas。之后MetalBone就用定它了。
MetalBone是一个windowless的C++ GUI Library。就是别人常说的DirectUI。项目地址:https://github.com/WarWithinMe/MetalBone。使用的是WWM协议(LGPL附加几个条件)。
原生界面:

MetalBone Demo界面:

Windows下的C++图形界面编程一直很让人不爽(这应该归罪于微软自家那蹩脚的C#)。原始的Win32 API多而繁杂,诸如MFC/WTL/ATL之类的界面库又很别扭。特别是[......]
UI可以简洁、简单,但决不能过时。
之所以想试试Dll Injection,归根到底是因为我想玩COD6联机。校园网是绑定MAC地址的,所以我的笔记本只能修改MAC地址才能连上网。但是改了MAC地址的话,打开COD6又会出错。所以想试试能不能hack一下校园网的客户端。
好吧,实际上,我还是没得到我想要的结果。不过尝试一下Dll Injection也不错。
———- 正文的分割线 ———-
一开始不知道iNode是怎么工作的(完全不知道),所以就想,能不能让iNode获取MAC地址的时候,得到的是我指定的MAC地址。看了一些API H[......]