📄 faceedit.h
字号:
/*--------------------------------------
* Copyright (c) 2004
* All rights reserved.
*
* 文件名称: FaceEdit.h
* 摘 要: 类 CFaceEdit 声明部分
*
* 当前版本: 1.01 VC6版
* 作 者: Flanker(刘翔)
* 完成日期: 2004年10月26日
* 修改日期: 2004年11月12日
*
* 使用:
在CxxxApp::::InitInstance()中添加:
AfxInitRichEdit();
以使用EditCtrl 1.0(VC6),注意,要使用EditCtrl 2.0(VC7以上),请使用本类的 VC7 版本。
使用CFaceEdit:
//将对话框类成员变量由CRichEditCtrl改为CFaceEdit
CFaceEdit m_FaceEdit;
CString pSymbol[] = {":)", ":(", ";)", ":0", ";-)"};
UINT nIDBmp[] = { IDB_BITMAP1, IDB_BITMAP2, IDB_BITMAP3, IDB_BITMAP4, IDB_BITMAP5};
m_FaceEdit.Init(5, pSymbol, nIDBmp);
m_FaceEdit.SetText("ha:(ha:0!");
或:
CFaceEdit m_FaceEdit;
CString pSymbol[] = {":)", ":(", ";)", ":0", ";-)"};
CString sBmpFile[] = { "res\\kid.bmp", "res\\sad.bmp", "res\\showoff.bmp", "res\\quip.bmp", "res\\maze.bmp"};
m_FaceEdit.Init(5, pSymbol, sBmpFile);
m_FaceEdit.SetText("ha:(ha:0!");
--------------------------------------*/
#pragma once
struct stFace;
#include "StdAfx.h"
#include "Picture.h"
#include <vector>
using namespace std;
class CFaceEdit : public CRichEditCtrl
{
public:
//构造函数
CFaceEdit() : m_nfaceCount(0), m_pSymbol(NULL), m_pIDBmp(NULL), m_pBmpFile(NULL), m_bEnableFace(TRUE)
{
}
//析构函数
~CFaceEdit()
{
delete []m_pSymbol;
if(m_pIDBmp != NULL)
delete []m_pIDBmp;
if(m_pBmpFile != NULL)
delete []m_pBmpFile;
}
//用户自定义表情,“输入”
void Init(int nfaceCount, CString *pSymbol, UINT *pIDBmp);
void Init(int nfaceCount, CString *pSymbol, CString *pBmpFile);
//工作函数,“输出”
bool SetText(CString str, BOOL bEnableFace = TRUE);
bool SetText();
void ClearFace();
void SetFaceToText();
void InsertFace(CString strPicPath);
void InsertBitmap(CString szFileName);
void InsertGif(CString filename);
private:
void SetTextWithFace(CString str);
inline void InsertBitmap(stFace &face); //应用层的InsertBitmap
int m_nfaceCount; //表情的数目
CString * m_pSymbol; //表情符号
UINT * m_pIDBmp; //指定图象,通过图象的ID
CString * m_pBmpFile; //指定图象的另一种形式,通过文件形式
BOOL m_bEnableFace; //显示到RichEdit中的文字是否要显示表情
public:
CPicture picture;
vector <stFace> vecFace; //vecFace[0]表示第一个表情的位置和型号、vecFace[1]表示第二个表情的位置和型号…
};
struct stFace
{
int nPos; //要插入的位置
int nFaceIndex; //要插入的图象的在上面数组中IDBmp的index
int nLength; //字符表情的长度
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -