Многое зависит от вашего компилятора. Если вы используете Visual Studio (не экспресс), вы можете сделать это довольно легко, создав шаблон диалога. Затем вы можете использовать CreateDialogIndirect для создания вещи. Возможно, вы захотите использовать элемент управления RichEdit, встроенный в диалоговое окно (хотя элемент управления RichEdit не простой, поэтому ... если вы просто хотите использовать простой текст, вам будет намного проще использовать стандартный элемент управления Edit) для чего вы после. Затем вы можете передавать сообщения, используя SendDlgItemMessage, в расширенное редактирование, чтобы поместить текст в элемент управления RichEdit.
Если вы не можете использовать построитель шаблонов диалогов, это будет намного сложнее. Как указывает Тобиас, вам нужно использовать CreateWindow (Ex) для создания диалога, а затем CreateWindow - элемент управления rich edit внутри. Оттуда вы все равно сможете использовать SendDlgItemMessage для заполнения элемента управления RichEdit.
В любом случае вам нужно будет обрабатывать множество оконных сообщений. Каждый раз, когда пользователь щелкает или даже наводит указатель мыши на окно, вы получаете сообщение о Windows. Вам не нужно обрабатывать их все, но вам нужно будет выяснить, какие сообщения вам необходимо обработать, а затем обработать их. По общему признанию, используя простой элемент управления для редактирования, было бы довольно легко спамить текст в элемент управления для редактирования. Вы можете установить текстовое содержимое элемента управления, просто используя функцию SetWindowText (которая внутренне отправляет сообщение WM_SETTEXT).