How to Create Rich Edit Controls
来源:互联网 发布:网络流行年轻群体文化 编辑:程序博客网 时间:2024/05/17 02:26
How to Create Rich Edit Controls
To create a rich edit control, call the CreateWindowEx function, specifying the rich edit window class. For Microsoft Rich Edit 4.1 (Msftedit.dll), specify MSFTEDIT_CLASS as the window class. For all previous versions, specify RICHEDIT_CLASS. For more information, see Versions of Rich Edit.
Rich edit controls support most of the window styles used with edit controls as well as additional styles. You should specify the ES_MULTILINE window style if you want to allow more than one line of text in the control. For more information, see Rich Edit Control Styles.
What you need to know
Technologies
- Windows Controls
Prerequisites
- C/C++
- Windows User Interface Programming
Instructions
Create a Rich Edit Control
The following example function creates a rich edit control and initializes it with some text.
HWND CreateRichEdit(HWND hwndOwner, // Dialog box handle. int x, int y, // Location. int width, int height, // Dimensions. HINSTANCE hinst) // Application or DLL instance.{ LoadLibrary(TEXT("Msftedit.dll")); HWND hwndEdit= CreateWindowEx(0, MSFTEDIT_CLASS, TEXT("Type here"), ES_MULTILINE | WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP, x, y, width, height, hwndOwner, NULL, hinst, NULL); return hwndEdit;}
In Microsoft Visual Studio 2005 and later, it is possible to add a rich edit control into a dialog template by dragging the control from the toolbox. However, doing this in the dialog editor does not ensure that the required library will be loaded before the control is created. It is necessary to call the LoadLibrary function to load Riched32.dll, Riched20.dll, or Msftedit.dll before the dialog is created.
Remarks
To use visual styles with these controls, an application must include a manifest and must call the InitCommonControlsfunction at the beginning of the program. For information on visual styles, see Visual Styles. For information on manifests, see Enabling Visual Styles.
Related topics
- Using Rich Edit Controls
- Windows common controls demo (CppWindowsCommonControls)
Community Additions
ADDHow to create in C#
By default the RichTextBox control will use only use the 3.0 version of the rich edit control, you can make it use the 4.1 version by creating a subclass with the following code.
public class RichEdit50 : RichTextBox
{
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern IntPtr LoadLibrary(string lpFileName);
private const string MSFTEDIT_CLASS = "RICHEDIT50W";
protected override CreateParams CreateParams
{
get
{
CreateParams prams = base.CreateParams;
if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
{
prams.ClassName = MSFTEDIT_CLASS;
}
return prams;
}
}
}
RichEdit creation
HWND CreateRichEdit(HWND hWndOwner, int x, int y, int width, int height)
{
LoadLibrary("riched32.dll");
HWND hWndEdit = CreateWindowEx(WS_EX_CLIENTEDGE, RICHEDIT_CLASS, "", WS_CHILD | WS_VISIBLE | WS_VSCROLL |
WS_HSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL, x, y, width, height,
hWndOwner, (HMENU) IDC_MAIN_EDIT, GetModuleHandle(NULL), NULL);
return hWndEdit;
}
To compile this code, please add the header file <richedit.h> to your source code.
The variable IDC_MAINEDIT must be implemented as a define directive. Example:
#define IDC_MAINEDIT 101
- How to Create Rich Edit Controls
- How to Use OLE in Rich Edit Controls
- How to print the content of a Rich Edit Control
- How to be the rich?
- ABAP---How to use controls
- ABAP---How to use controls
- How to use C# controls
- Failed to create the part's controls
- How To Become Rich By Making Others Rich
- How to create singleton
- How to create alarm
- How to create WCF
- How to Create Tables
- How to Edit INF File?
- How Learning To Code Made Me Rich
- How to implement linked controls in gridview
- How to: Work Item Tracking Custom Controls
- How to choose WPF container controls
- Nyoj 21 三个水杯
- mac 上安装 gdb
- Android设计模式系列(5)--备忘录模式
- 面向对象的单例模式
- 2014.4.3 今天主要是ListView和adapter
- How to Create Rich Edit Controls
- jvm内存管理
- 分享一个自动生成单据的存储过程
- 微信公众开放平台开发05---jetty部署异常:rg.apache.jasper.JasperException: PWC6345: There is an error in invoking ja
- javascript之文档碎片,文档碎片在理论上可以提高DOM操作的执行效率
- java内存管理之一
- 第四周作业---图的表示
- ppst技术视频——eclipse 安装tomcat插件的方法
- hdu 1164