自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

周洁伦之谜_相信我

分享知识,传递快乐

  • 博客(30)
  • 资源 (32)
  • 收藏
  • 关注

原创 Flutter之ListItem支持点击态背景色

上一篇,我们实现了普通控件的点击态背景色(无论点击快慢都有背景色变化)。但是,当我将其应用到ListItem时,出现错误。原因不知,猜测是与item复用有关。然后我尝试使用AnimatedContainer,可以做到按下和松开时背景色变化。正如上一篇所说,AnimatedContainer无法实现快速按下松开后的背景色变化,因此,我决定参考AnimatedContainer源码实现了ListI...

2019-11-27 17:54:04 1401 2

原创 Flutter之Widget点击态背景色

本文主要解决快速按下松开后,仍然可以看到背景色的变化。在flutter中有个AnimatedContainer,其可以实现按下时背景色变化,松开后背景色还原。但是快速按下松开后,其背景色无变化。原因是,背景色变化需要一个过程,而快速按下松开后就立即结束动画响应事件了。自定义实现代码如下:class StateButton extends StatefulWidget { fina...

2019-11-26 18:01:47 1927

原创 RxAndroid dispose实现原理

示例如下: final Disposable disposable = Observable.create(new ObservableOnSubscribe<String>() { public void subscribe(@NonNull ObservableEmitter<String> e) { for (int...

2019-05-29 15:31:24 1365

原创 RxAndroid,一段简单的代码

先看如下一段代码:public class RxAndroidTest { private static final String TAG = "RxAndroidTest"; public static void test() { final int[] array = { 1, 3, 5, 7, 9 }; final Disposabl...

2019-04-22 11:04:43 159

原创 Activity在onDestroy后,Activity对象的WeakReference并不为空

问题描述:使用普通内部类或匿名类开启线程执行耗时任务,若任务没有结束而Activity销毁,那么,因为内部类或匿名类对外部类Activity持有强引用,会导致Activity对象一直无法释放,从而无法回收,导致内存泄露。于是,改成外部类或内部静态类后,对Activity不产生强引用了,那么,线程任务结束时,如何回调给Activity呢?保存Activity的WeakReference,...

2019-03-08 10:30:06 838

原创 win32拖拽编程

准备 封装win32 API。我们使用到的API有, ImageList_Create、ImageList_Destroy、 ImageList_Add、ImageList_AddMasked、ImageList_Remove、 ImageList_BeginDrag、ImageList_DragEnter、ImageList_EndDrag、ImageList_DragLeave

2016-07-14 17:19:25 1838

原创 c++11 algorithm 常用的容器算法

c++的vector、list、set、map及其成员函数已经足够我们大多数应用了,但是,c++11增加的algorithm配合container可谓所向披靡。vector vec = { 1, 2, 3, 4, 5, 6 }, out;std::copy_if:将容器中符合要求的元素复制到另一个容器std::copy_if(vec.begin(),

2016-06-06 12:06:43 1836

原创 std::shared_ptr的巧妙应用

std::shared_ptr一次创建,多处共享,通过引用计数控制生命周期。问题:假设有一项任务Task,其分为N个小模块,每个小模块都是并发执行。现在要求,任务开始,每个小模块并发执行,在全部小模块执行完后,将所有小模块结果进行下一步处理,任务结束。方案一:任务开始,先创建一个成员变量std::set n_span;(这里Span代表一个小模块,异步执行模块的功能);

2016-06-06 11:34:20 1598

原创 MFC之半透明控件

半透明控件的实现原理:创建一个临时DC,发消息给父控件告知其绘制其内容于临时DC上,然后将自己相对于父控件的那块区域的绘制COPY到自己的PaintDC上,此后再做其他绘制。代码思路如下:Child:{CPaintDC dc;CMemDC mdc;//创建临时DCCBitmap bitmap;CDC cdc;::SendMessage(hParent, WM

2015-07-09 13:59:39 2090

原创 C++模板的魅力和魔力

本文要解决的问题很好描述,但要想取个对应的标题还真不容易。任务描述:假设我有一个逻辑线程,这个线程专门用来处理 各种类成员函数的调用。要求:类类型不限,类成员函数参数类型可以任意。首先为这些成员函数定义一个基类class Task{public:virtual void Run() = 0;};其次,抽象出各类的成员函数参数类型,下面以一个参数为例templ

2013-06-05 10:28:15 1258 1

原创 Magic C++ (函数指针)(xml配置控件样式)

C++ is so magic !!!问题起源:      我在业余时间编写基于WTL的控件重绘,为了灵活设置控件的各种样式,我选择了使用xml来配置控件的样式(比如文字颜色,字体,背景颜色)。其中build.xml用来设置控件类型、位置、文字、样式,skin.xml来设置颜色、字体、图片。      首先定义一个类UIData,提供接口LoadCtrl(从build.xml读取位置信

2013-04-23 16:03:16 1283

原创 note:全局配置visual studio 2010 头文件目录

假如我有3个工程,他们都需要引入头文件夹 wtl81(包含wtl的.h文件),以前的做法是对每个工程都在属性设置中引入wtl81,但是随着工程越来越多(可能是自己平时写的小测试程序),每次都这么做,实在麻烦,有什么好的解决方法呢?          以下几种方法都比较简单1,直接把wtl81文件夹拷贝到vs安装目录下面 C:\Program Files\Microsoft Visual S

2013-04-17 15:44:52 2056 1

原创 我是那么的喜欢你 try catch

以前在学Java的时候,最讨厌的就是那些try和catch了,不仅把代码拉长了,而且异常处理很不好。    现在在做C++方面的事情,虽然大家一致认为,C++中坚决禁止try和catch,但是我却越发的喜欢用他了。    为什么讨厌又为什么喜欢呢?    讨厌的是,我不喜欢sdk给我定义好的Exception,喜欢的是我自己throw的exception。    下面用一个C++的

2013-04-12 10:59:15 1563

原创 protobuf入门详解(在windows下配置protobuf)

在网络之间传递可读性强的数据,有xml,还有json。相比之下,json比xml要好。但是他们有个弊端,传递的数据是可读的,也就是没有加密,使用网络抓包工具立马可以抓到what you send and what you receive,那么怎么才能传递加密了的json串呢?  简单的方法,在传递json之前,先对json加密,收到数据后再解密。加密和解密算法自然是自己设计最好了。  后来

2013-04-07 17:14:29 3679 4

原创 WTL/MFC多字节和Unicode字符转换

我们在最开始学习MFC的时候,毫无疑问会遇到这样的问题。VC6的设置:多字节。vs的默认设置:Unicode,在属性中可以改成多字节。多字节编码:char,string,CStringA。Unicode编码:wchar_t,wstring,CStringW。注意:如果项目是Unicode,那么CString就被定义为CStringW,否则就是CStringA。附:LPS

2013-03-14 14:30:30 2426 1

原创 分析:由 XToolTip类 联想到 WTL (MFC) 消息循环

这篇文章从一个问题出发:我想自己写一个XToolTip类。 XToolTip类的思路:1,创建一个WS_POPUP样式的窗口;2,加入需要显示tooltip的控件(XToolTip类采用map来保存这些控件句柄和提示字符串);3,在PreTranslateMessage中调用XToolTip的RelayMsg函数;4,在RelayMsg函数中过滤消息(WM_MOUSEMOV

2013-01-28 14:31:04 2003 2

原创 Json学习札记

Json和Xml相比有个最大的优势,基于字符串。xml必须与文件相关,而json只是字符串(当然也提供了与文件相关的操作)。Let's say it from my code:#include //解压后找到目录 vs71,用vs打开然后生成解决方案,本程序直接在jsontest.cpp中改写的#include #include #include using names

2013-01-23 15:15:22 1749

原创 MFC控件完全重绘从CWnd开始

导读:我并不推荐采用自绘的方式去完成一些控件(比如CStatic,CButton,RadioBox,CheckBox等)的美化,而是推荐大家从CWnd入手,把这些基本控件完全重新绘制一遍(当然,有些做的很好的控件还是需要继承来自绘的,比如CListCtrl)。为什么这么做?因为MFC对这些控件的某些操作是隐蔽的,某些限制是我们无法接受的(比如CTabCtrl的头部高度和每个Item的宽度)。我

2013-01-08 14:43:31 15282 13

原创 一个简单的在本地传输文件的网络程序

经常在CSDN贴吧看见很多关于网络之间传输的例子(比如传输截屏文件),所以很想写一个作为学习。此程序设定很简单,就是在本地传输。当然,要扩展到网络也很简单,改个ip就ok了。基本思路:双方遵循一个包头格式,根据包头确定之后的操作。服务器代码:#include #include #define PORT 6666struct PacketHeader{

2012-11-16 13:48:02 2997 6

原创 初学C++正则表达式(regex)

由效果产生学习的兴趣,即使失败,但至少不会中途作废。正则表达式,语法看起来很多啊!地址参考:http://www.yesky.com/imagesnew/software/vbscript/html/jsgrpRegExpSyntax.htm本文做一个简单的学习介绍:(环境:Windows 7 + Visual Studio 2010)#include   //header1,匹配

2012-11-15 16:21:57 7674

原创 tinyxml的学习和简单使用

虽然看起来简单,但开始学习和使用却是不那么简单。首先从 官网 下载源文件:4个cpp和2个h,然后加入到工程即可。在你的代码中加上2句:#include "tinyxml.h"#include "tinystr.h"(刚开始只加了tinyxml.h,以为这个头文件包含了tinystr.h,结果编译一大堆问题,其实tinystr.h不一定会包含,它是通过一个宏定义控制的)(这

2012-11-07 16:39:23 1583

原创 屏幕截图程序(WTL)

如果需要思路,请访问:http://hi.baidu.com/sumos/item/9aef19f4f02e0f5ac9f337bb如果需要程序,请访问:http://download.csdn.net/detail/zhoujielunzhimi/4724327如果需要源码,请看:#pragma once#include class MainForm;CBitma

2012-11-02 15:06:19 5717 4

原创 在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?

要做到透明控件,有两种办法。1,把父窗口中控件所在区域的背景先画到控件上。这种办法适合几乎所有的控件。2,对于简单的控件,如Static、RadioButton、CheckBox,他们有特殊的办法。下面就是第二种做法:(直接看图)这是效果图。主要包括Static、Radio、CheckBox、GroupBox。接下来是代码:(注意环境:vs2010,继承了CDialog

2012-10-25 14:58:39 9474 9

原创 在MFC中,如何将Unicode的CString中文字符写入文本文件TXT中

http://topic.csdn.net/u/20091207/12/2379a9e4-2f92-4f3e-9db5-59e5f656f78f.html在看了这个论坛后,我也想尝试一下,如何把Unicode中文写到txt文件中。首先请看这篇字符转码的文章:http://blog.csdn.net/zhoujielunzhimi/article/details/8082286很明显,我

2012-10-23 11:29:48 9241

原创 MFC/WTL字符串转换(CString - char)

CString:当VS编码环境为Unicode时,CString就是CStringW。当VS编码环境为多字节时,CString就是CStringA。在C/C++中同样存在着两种环境的字符串:char 和 wchar_t。本文的目的是:转换他们。Code Start :class UStrToAscChar //CStringW + wchar_t* -> char*{

2012-10-17 17:15:59 7440 7

原创 在MFC/WTL中如何绘制Gif动态图片

说明:本文内容参考了 codeproject  的此文,http://www.codeproject.com/Articles/1776/Adding-GIF-animation-using-GDI 。本文所写代码针对多帧gif,如果是单帧gif,则会出错(可以把Load中的IsAnimate函数放到Start开头判断,如果是单帧,就返回,否则,启动定时器)。代码中有判断的函数。思路:首先

2012-10-16 15:30:31 5319 1

原创 在WTL中利用滚动窗口类CScrollWindowImpl显示BMP图片

之前我也写了一篇用滚动窗口类显示图片的博客:http://blog.csdn.net/zhoujielunzhimi/article/details/7899735本文与之不同,上面的这个滚动窗口具有通用性,比如滚动窗口可以装载控件,但是比较繁琐的是滚动参数需要自己去控制。下面要介绍的是利用WTL的类CScrollWindowImpl来完成,这个类只是用来显示图片,对于控件暂不知(个人

2012-09-10 14:56:53 2894 1

原创 WTL:如何绘制ComboBox

首先给大家介绍一个csdn博客关于ComboBox的组成和如何绘制的介绍。http://blog.csdn.net/fengbangyue/article/details/5222124我要绘制的是drop list模式的ComboBox。直接上代码://下拉列表框class ComboBox : public CWindowImpl,public COwnerDraw{

2012-08-24 14:48:56 3107 2

原创 WTL:如何利用滚动窗口ScrollWnd查看图片Image

这个问题说起来简单,做起来难。虽然说是WTL,但我想MFC应该没有太大差别。关键点:ScrollWindow,MoveWindow。首先看ScrollWnd。class ScrollWnd : public CWindowImpl //MFC中直接继承CWnd,WTL的精髓就是模板{private: const int LINE; //定义移动的距离public

2012-08-23 14:42:06 4518 3

原创 mfc 绘制 圆形按钮 继承CButton

头文件// MyButton 圆形按钮class MyButton : public CButton{private: bool is_pressed; //鼠标是否按下public: virtual void PreSubclassWindow(); //修改自绘属性 virtual void DrawItem(LPDRAWITEMSTRUCT /*lpDrawItemS

2012-05-07 13:30:54 9082 19

MFC之半透明控件的实现

代码提供了一种实现半透明控件的思路,其中还有可以优化的,比如双缓存,不擦除背景等。

2015-07-09

MFC半透明窗口

使用UpdateLayeredWindow函数来绘制半透明窗口,使用gdi+来绘制不透明文字。 编译环境:Visual Studio 2010

2013-06-07

屏幕截图程序

简单易用:按ESC或者右键退出截屏。 开始截屏后,拖动鼠标确定截图区域。 可选择复制到粘贴板或者保存为png。 (程序开发环境:VS2010 + WTL)

2012-11-02

透明按钮Radio和CheckBox

这个程序提供了两种实现透明的方法: 1,如果对话框背景色是纯色,那么直接返回NULL画刷即可。 2,如果背景是图片,那么在OnCtlColor中需要先绘制父窗口背景。

2012-10-25

MFC类CPictureEx显示gif

这个资源包括一个.h和一个.cpp。 CPictureEx继承自CStatic,因此只需要DDX或者SubClass, 然后调用Load和Draw就OK了。 示例: CPictureEx m_gif; DDX_Control(pDX, IDC_GIF, m_gif); //IDC_GIF是一个CStatic控件的ID 在OnInitDialog中 if(m_gif.Load("res\\qq.gif")) m_gif.Draw();

2012-09-07

获取和修改mp3的标签信息

此程序用来获取和修改mp3的标签信息,如歌曲、歌手、专辑等。适合c/c++/vc/mfc程序员。关键在于mp3文件的最后128个字节。

2012-03-15

VS2010版本的msvcr100.dll

如何在未安装VS2010的计算机上运行VS2010写的程序?静态链接是一个办法,但是,需要附加两个dll,mfc100u.dll(版本10.0.30319.1)和msvcr100.dll(版本10.0.30319.460),放在同一目录下即可。

2012-02-28

简单的三国杀

采用C++开发的基于控制台的应用程序. 完成三国杀部分基本功能:杀,闪,桃,无中生有,过河拆桥,无懈可击,顺手牵羊,诸葛连弩,青釭剑,+1马,-1马. 三国杀最复杂之处在于逻辑性直观但是很不好把握.

2012-01-06

基于MFC对话框扫雷程序

扫雷程序并不太难,但是,还有些玄机. 重点在于排雷,即点到空的时候将周围无雷区显示. 程序基于MFC对话框, 里面有个重要的思想,消息传递,CButton不能响应右键消息,所以 自定义Button类继承CButton,同时,在Button类添加右键消息完成右键点击时按钮显示'?'. 数据结构采用stl中list和map.

2011-12-26

仿QQ多窗口聊天界面

基于MFC的对话框程序,包括服务器和客户端. 采用CAsyncSocket完成网络数据传输. 客户端仿QQ界面,包含多个聊天窗口界面. 数据结构采用C++中STL(STL确实比MFC中容器类效率高)完成.

2011-12-24

MFC开机启动定时程序

包含两个程序:第一个,实现开机启动程序,第二个,程序启动后隐藏在托盘,作为定时程序。

2011-11-22

基于C/C++音乐播放器

这是一个基于Dos的音乐播放器。优点:采用了STL的string和list,C++标准IO,C++线程,借助Win32 API实现gotoxy函数。代码行1千,足以作为C/C++大作业。

2011-11-10

多人在线聊天

基于TCP协议开发的多人在线聊天工具,采用MFC编写而成,对于学习多线程、socket网络编程、MFC基础学习的同学大有裨益。

2011-10-08

欢迎C语言猜单词小游戏

简单的猜单词小游戏,适合于掌握C语言基础知识。包括随机数,文件,链表等。

2011-05-21

基于TCP协议的C语言网络五子棋游戏

采用C语言编写的基于win32控制台的五子棋网络对战游戏

2011-05-01

MFC之TCP通信之多人聊天

采用MFC、使用TCP协议、实现多人聊天。包括服务器和客户端,支持多客户端。

2011-04-27

编译原理期末考试试卷和答案

学好编译原理一点儿也不简单,但是,有了试卷,考试还不是so easy

2011-03-03

vb函数库含有各种函数

C语言初学者一定头疼dos界面,vb就是学习面向对象的最好基础。

2010-12-30

MFC函数大全,C++与MFC

学习MFC不是一件难事,只要有了这本MFC类库手册,就能像写Java那样轻松写出优秀程序。分享。

2010-12-08

C函数库 and C++函数库

学习C和C++之必备函数库查询,大大方便编写高难度函数之所需!!!

2010-11-24

武汉大学软件工程试卷及答案

软件工程期末试卷和答案,非常实用,有助于各位考试过关。

2010-09-21

计算机操作系统期末试卷及答案

相当不错哦,对复习很有用处,看看试卷,有益无害。支持哈!!!

2010-06-19

PKU 1163 Number Triangle CODE

程序已经通过PKU JudgeOnline测试。非常适合选修《程序设计竞赛》同学的期末考试。

2010-06-19

武汉大学 概率论与数理统计 期末试卷

非常好的概率论与数理统计试卷,是武汉大学的期末试卷,对复习有很大的帮助,而且难度有一定的,十分有益!

2010-03-13

Visual c# .Net基础教程

一本适合于初学者的c#学习教程,有助于快速掌握c#的基础内容。

2009-12-22

武汉大学 离散数学 试题 和 答案

大家都知道离散数学很难吧!其实,真的很难!但是,考试确实不难。不信,看看这套试卷吧!还有答案哦。

2009-12-13

武汉大学数据结构期末试卷 2009

最好的武汉大学数据结构期末试卷 2009年。这套试卷有助于各位顺利参加考试。

2009-12-02

我自己用VB语言做的Hanoi小游戏

看着窗外的蝴蝶,雨已经下了好久,她还是没有离去。因为Hanoi Game 吸引了她。真的这么好玩吗???下了不就知道了。。

2009-11-09

用栈求解迷宫问题---原创版

这可是我自己写的,书上写的可是不对的,于是,我自己摸索写的,还是对的哦。。。

2009-10-13

哼好的MFC深入浅出

非常好的学习MFC基础的教程,得来不易,请甚保存。对于学习,帮助匪浅,是toVC。

2009-09-24

数字逻辑课件第四章详细

详细的将课本的重点及难点,统统收录在本ppt中。益处多多。

2009-09-12

武汉大学C语言考试试卷

资源难得,求之不易。啊!如果想考试过关,这可是个好东西哦。

2009-06-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除