リッチエディットコントロールのドキュメントは実際には悪い(間違っていますか?)と思われますか?今は、リッチエディットコントロールを表示するために手動でLoadLibrary( "riched20.dll")を呼び出しています。 Rich Editのドキュメンテーションは、Rich Editコントロールを使用するための最初のコードサンプルでこれを実証しています。未加工Win32のリッチエディットコントロール
それは視覚的なスタイルを追加するInitCommonControlsEx()を呼び出すことについて語ったが、中に合格するためにどのフラグには言及していない。
リッチエディットコントロールをロードするためのより良い方法はありますか?
http://msdn.microsoft.com/en-us/library/bb787877(VS.85).aspx
ここで私はそれを動作させるために書くことができる唯一のコードです:
#include "Richedit.h"
#include "commctrl.h"
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_USEREX_CLASSES; //Could be 0xFFFFFFFF and it still wouldn't work
InitCommonControlsEx(&icex); //Does nothing for Rich Edit controls
LoadLibrary("riched20.dll"); //Manually? For real?
hWndRichEdit = CreateWindowEx(
ES_SUNKEN,
RICHEDIT_CLASS,
"",
WS_BORDER | WS_VISIBLE | WS_CHILD,
2, 2, 100, 24,
hWnd, (HMENU) ID_RICH_EDIT, hInst, NULL);
はユニコードアプリケーションのMSFTEDIT_CLASSですか? – user16408
いいえ、まだANSIアプリケーションで使用できますが、ANSIアプリケーションでUnicodeテキストを送受信するWM_UNICHAR通知をサポートしています。 – gbjbaanb
ユニコードアプリケーションの場合のみMSFTEDIT_CLASS:はい。 VC2012 MFCでは、プログラムが_UNICODEでコンパイルされている場合、MSFTEDIT_CLASSが使用されます。 _UNICODEが定義されていない場合、RICHEDIT_CLASSが使用されます。 – linquize