ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 网络编程 >> 其他编程教程 >> CTreeCtrl中使用CxImage添加背景图片,以及给字添加背景图片

CTreeCtrl中使用CxImage添加背景图片,以及给字添加背景图片(1/3)

来源:网络整理     时间:2016-07-12     关键词:

本篇文章主要介绍了" CTreeCtrl中使用CxImage添加背景图片,以及给字添加背景图片",主要涉及到方面的内容,对于其他编程教程感兴趣的同学可以参考一下: 在CTreeCtrl中加载背景图片,网上有很多例子,有的可行有的不行,这两天一边看资料一边整理,自己写了一个用CxImage加载图片的方法,大家可以参考下。有的...

在CTreeCtrl中加载背景图片,网上有很多例子,有的可行有的不行,这两天一边看资料一边整理,自己写了一个用CxImage加载图片的方法,大家可以参考下。有的地方还没有完善,不过基本功能可以实现,而且添加图片后屏幕不闪烁。已经试过了。

SetReDraw():保证其不要在子节点弹出时重画,而是在子节点已经扩展后重画

在做程序时,遇到了一个很白痴的问题,就是我想要实现鼠标滚动消息时,写了之后调试代码进不去,经过我查看,把ON_WM_MOUSEWHELL放到前面就可以了

(一)使用CxImage可以添加任意的图片

1、在.h中添加静态库

#include "ximage.h"
#pragma comment(lib,"cximage.lib")
#pragma comment(lib,"Jpeg.lib")
#pragma comment(lib,"png.lib")
#pragma comment(lib,"zlib.lib")

2、并且声明两个关于CxImage的变量,用来存放背景图片

CxImage*m_TreeBkImage;//TreeCtrl的背景图片

CxImage*m_TextBkImage;//字的背景图片

3、定义消息防止屏幕闪烁

afx_msg BOOL OnEraseBkgnd(CDC *pDC);

afx_msg void OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnItemexpanded(NMHDR* pNMHDR, LRESULT* pResult);

(二)在.cpp中初始化定义的变量

m_TreeBkImage = new CxImage();//图片背景

m_TextBkImage = new CxImage();//字的背景

ON_WM_ERASEBKGND()

ON_NOTIFY_REFLECT(TVN_ITEMEXPANDING,OnItemexpanding) 
ON_NOTIFY_REFLECT(TVN_ITEMEXPANDED,OnItemexpanded)

1、在OnPaint()调用整体的图片、字体等

void UITreeCtrl::OnPaint()
{
	CPaintDC dc(this); // device context for painting

	GetClientRect(&m_ClientRect);
	CBitmap bitmap;
	CDC MemeDc;
	MemeDc.CreateCompatibleDC(&dc);
	bitmap.CreateCompatibleBitmap(&dc, m_ClientRect.Width(), m_ClientRect.Height());
	CBitmap *pOldBitmap = MemeDc.SelectObject(&bitmap);

	DrawBack(&MemeDc);
	DrawItem(&MemeDc);
2、画图片背景

相关图片

相关文章