Если у вас уже есть подокно, в которое вы можете отправлять текст, вы можете использовать что-то похожее на следующее:
#include <strsafe.h>
#define MAXSTRING 1024
CHAR string[MAXSTRING];
StringCchPrinf(string, ARRAYSIZE(string), "number is %d", num);
SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)string);
Используйте StringCchPrintf для форматирования текста в промежуточной строке, а затем используйте WM_SETTEXTотправить эту строку в подокно для отображения.Нет функции, которая выполняет оба действия за один раз, но ничто не мешает вам написать вспомогательную функцию, которая оборачивает оба из них, если вы обнаружите, что делаете это часто.
(здесь я использовал StringCchPrintf, который являетсяWindows API, вы также можете использовать C-flavour sprintf (), который похож на printf (), но принимает в качестве параметра дополнительную строку. Преимущество использования StringCchPrintf заключается в том, что он принимает дополнительный параметр длины, который он использует дляизбегайте переполнения буфера, что может привести к проблемам с безопасностью; если вы планируете делать какие-либо «реальные» действия, рекомендуется ознакомиться с этими «безопасными» версиями.)
-
Краткое примечание о том, как это связано с другим ответом: как правило, есть два основных подхода к выводу текста на экран в Windows.Самый простой способ - создать группу элементов управления надписью или текстом, попросить их сделать рисунок и отправить им текст.Если вы используете консольную среду в стиле Unix (printf и т. Д.), Это самый простой способ начать работу.Похоже, это тот подход, который вы уже используете, и тот, который я использовал выше.Другой подход - нарисовать текст самостоятельно.Это немного сложнее, так как вам нужно создать свой собственный элемент управления и обрабатывать различные запросы из Windows, чтобы ваш элемент управления перерисовывался сам, когда Windows запрашивает его - используя DrawText или другие API.Это то, что эти элементы управления фактически делают от вашего имени.Это дает вам полный контроль над размещением текста, шрифтом, цветом и т. Д., Но несколько излишним, если вы просто хотите, чтобы какой-то текст статуса или результата отображался для простого апплета.В любой из книг по Программированию Windows будет много подробностей об этом подходе.)