Есть окно, которое выводит конвертированную переменную int в строку, и все это повторяется в цикле (Должно быть 10 строк одной под другой). Код выглядит так:
RECT rc;
HDC dcc = GetDC(global::hwndGeneral);
GetClientRect(global::hwndGeneral, &rc);
SetBkMode(dcc, TRANSPARENT);
SetTextColor(dcc, RGB(0, 0, 255));
for (int i = 0; i < 10; i++)
{
std::string x1 = std::to_string(math::vectorline[i].x1);
std::string y1 = std::to_string(math::vectorline[i].y1);
std::string x2 = std::to_string(math::vectorline[i].x2);
std::string y2 = std::to_string(math::vectorline[i].y2);
std::string n = std::to_string(i);
std::string hd = n + " Line: A(" + x1 + "," + y1 + ") B(" + x2 + "," + y2 + ") ; ";
TCHAR* b = 0;
b = new TCHAR[hd.size() + 1];
copy(hd.begin(), hd.end(), b);
b[hd.size()] = 0;
DrawText(dcc, (LPCWSTR)b, -1, &rc, DT_MODIFYSTRING | DT_PATH_ELLIPSIS);
//DrawText(dcc, (LPCWSTR)intToCHAR(math::vectorline[0].x2), -1, &rc, DT_MODIFYSTRING | DT_PATH_ELLIPSIS);
}
ReleaseDC(global::hwndGeneral, dcc);
Но проблема в том что текст лепится один поверх другого, и соответственно в конце ничего не понятно. Добавление символа переноса строки в массив TCHAR* b (b[hd.size()] = '\n') тоже не дает результата. Какие есть методы переноса строки в функции DrawText() ?
Сначала сделайте одну длинную строку с переносами, затем отрисуйте ее все одним вызовом DrawText
. Как вариант, можно модифицировать rc
, добавляя отступ сверху на каждой итерации.
Куча промежуточных строк не нужны. Динамически выделять b
(который кстати потом не освобождается) не следует, как не следует и кастовать (LPCWSTR)b
Виртуальный выделенный сервер (VDS) становится отличным выбором
Она позволит включать различные части кода программы во время компиляции, отладки или непосредственно выполнения?
в документ добавился html с radiobutton таким образом:
Есть код на jquery который при клике на элемент меняет значение display другого элемента: