- 博客(7)
- 资源 (197)
- 收藏
- 关注
原创 WIN32界面开发之四:CPaintManagerUI类构建
前言:前面我们完成了对DUI雏形的构建,但大家有没有注意到一个问题,我们对消息的处理都是在用户构建的类(CStartPage)中,还有,为了在控件中可以实时刷新,所以每个控件都必须带有一个变量m_hwnd,来保存当前窗体的句柄,而且在每次发送EVENT消息时都要赋值,相当麻烦,所以,我们将这些控件都具有的一些操作和变量,全部都集合起来,封装成一个类,这个类就是CPaintManagerUI
2013-07-30 20:50:04 10452 1
原创 WIN32界面开发之三:DUI雏形开发(二)
前言:上篇《WIN32界面开发之三:DUI雏形开发(一)》讲解了界面加载框架的创建,但我们的这些控件并没有起到控件的作用,现在还无法响应我们的点击事件和其它事件,所以我们先给我们的框架添加上EVENT事件机制,然后我们再讲解,为什么我们还要加上NOTIFY通知机制,以及如何添加NOTIFY机制。一、添加EVENT事件机制基本思想:以通知某个按钮LButtonDown为例,我们首先在Ha
2013-07-29 09:27:22 7671
原创 WIN32界面开发之三:DUI雏形开发(一)
前言:这部分涉及工程比较大,所以我打算分开为两篇来写,第一篇完成基本框架的构建,第二篇添加上EVENT和NOTIFY机制。完成目标:仿照DirectUI,完成一个基本雏形,开发一个布局控件(Dialog),和一个按钮控件(Button),通过XML来布局窗体,最后按钮响应点击、鼠标移动等事件信息,用户还可以通过NOTIFY机制来定制,用户具体行为时,界面所要做的动作。给大家看下最终界面吧,一个
2013-07-26 09:26:26 15177 13
原创 WIN32界面开发之二:GDI+中的局部刷新技术
前言:GDI+很好用,但要将所有图像混合,必须要用到UpdateLayeredWindow,但UpdateLayeredWindow注定每次刷新都要刷新整个窗体,也就是说,哪怕我们只是改变的只是一个像素,也都要重新绘制整个窗体,就没有像GDI中那样有区域裁剪的功能,真无语了,搜遍整个网络也没找到UpdateLayeredWindow的局部刷新方案,最后想到在MFC中是可以使用GDI+的,而MFC中
2013-07-17 15:13:14 16347 3
原创 WIN32界面开发之一:初试加载背景界面
前言:在实际开发中,虽然有已经成形的界面库DUILIB,但DUILIB无法加载异形窗体,对PNG图片的支持不到位,最终我下决心,自己开发一套界面库,利用GDI+完成2D和3D功能,在这里,我将要记录下,我所做的界面开发的过程,并将它们整理成博客分享给大家,一步步来学习吧。内容概要:这篇主要实现的功能是加载一个背景界面,向大家介绍下,如何用GDI+加载背景界面的问题,然后就是如何在指定位置托
2013-07-15 15:02:09 16048 6
原创 关于WIN32 窗口信息的各种获取
一、当前鼠标点击位置的获取首先拦截WM_LBUTTONDOWN消息,然后再用下面方法获取鼠标位置方法一:(不建议使用)在使用win32的一些特殊宏时,有必要注意一下宏的定义,例如:#define MAKEWORD(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b)
2013-07-10 13:25:41 15573
原创 GDI+在界面开发中遇到的问题汇总
一、利用UpdateLayeredWindow,在GDI+绘制字体时,FontStyleRegular样式的字体会变成透明,而其它的样式都可以正常显示;问题的原因是:层窗口(WS_EX_LAYERED),用UpdateLayeredWindow输出的文字(用常规方法输出的:TextOut、DrawText、DrawString...),并且设置了AC_SRC_ALPHA和ULW_ALPHA
2013-07-09 19:53:32 5676 1
博客《自定义控件三部曲之绘图篇(十)——Paint之setXfermode(一)》对应源码
2016-04-28
对应源码
2016-04-19
博客《自定义控件三部曲之绘图篇(七)——Paint之函数大汇总》对应源码
2016-04-03
《自定义控件三部曲之绘图篇(六)——Path之贝赛尔曲线和手势轨迹、水波纹效果》对应源码
2016-03-30
博客《自定义控件三部曲之绘图篇(六)——Path之贝赛尔曲线和手势轨迹、水波纹效果》对应源码
2016-03-28
博客对应源码
2016-03-28
博客《Animation动画详解(十二)——animateLayoutChanges与LayoutTransition》对应源码
2016-03-26
博客《 Animation动画详解(十一)——layoutAnimation与gridLayoutAnimation》对应源码
2016-03-03
博客《 Animation动画详解(十)——联合动画的XML实现与使用示例》对应源码
2016-03-01
博客<Animation动画详解(九)——联合动画的代码实现>对应源码
2016-02-28
博客<Animation动画详解(七)——ObjectAnimator基本使用>对应源码
2016-02-27
博客<Animation动画详解(八)——PropertyValuesHolder与Keyframe>对应源码
2016-02-27
博客《Animation动画详解(四)——ValueAnimator基本使用》对应源码
2016-01-15
博客《鱼眼索引控件详解之二 —— 快速索引雏形实现》对应源码
2016-01-05
博客《鱼眼索引控件详解之一 —— 自定义索引器 》源码
2016-01-05
博客《 夯实JAVA基本之二 —— 反射(3):类内部信息获取》对应源码
2015-12-01
博客《反射(2):泛型相关周边信息获取》对应源码
2015-11-30
博客《夯实JAVA基本之二 —— 反射(1):基本类周边信息获取》对应源码
2015-11-27
《自定义控件三部曲视图篇(九)——RecyclerView实现滚动画廊控件》对应源码
2019-01-23
博客《RecyclerView系列之四回收复用实现方式二》对应源码
2018-12-12
博客《RecyclerView系列之四实现回收复用》对应源码
2018-12-07
博客《RecyclerView系列之三自定义LayoutManager》对应源码
2018-12-06
博客《自定义控件三部曲视图篇(五)——RecyclerView系列之二ItemDecoration》源码
2018-10-09
《RecyclerView系列之一——简单使用》对应源码
2018-09-18
《自定义控件三部曲视图篇(三)——瀑布流容器waterfalllayout实现》对应源码
2017-04-08
《自定义控件三部曲之绘图篇(二十)——RadialGradient与水波纹按钮效果》对应源码
2016-09-24
博客《自定义控件三部曲之绘图篇(十九)——LinearGradient与闪动文字效果》对应源码
2016-08-29
博客对应源码
2016-07-26
博客《自定义控件三部曲之绘图篇(十七)——为Bitmap添加阴影并封装控件》对应源码
2016-07-12
博客《自定义控件三部曲之绘图篇(十六)——给控件添加阴影效果与发光效果》对应源码
2016-07-04
博客《自定义控件三部曲之绘图篇(十五)——QQ红点拖动删除效果实现(基本原理篇)》
2016-06-08
博客《 WebView使用详解(三)——WebChromeClient与LoadData补充》对应源码
2016-06-04
博客《 WebView使用详解(一)——Native与JS相互调用(附JadX反编译)》对应源码
2016-05-21
博客《自定义控件三部曲之绘图篇(十三)——Canvas与图层(一)》对应源码
2016-05-04
博客《自定义控件三部曲之绘图篇(十二)——Paint之setXfermode(三)》对应源码
2016-04-30
博客《自定义控件三部曲之绘图篇(十一)——Paint之setXfermode(二)》对应源码
2016-04-30
博客《 自定义控件三部曲之绘图篇(九)——Paint之setColorFilter》对应源码
2016-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人