Anmeldungsdatum: Okt 2011
Beiträge: 48
|
Ich zeichne mit Gdi+, Boxen und sowas gehen, aber wenn ich Strings ausgeben will werden nur wirre Zeichenkombinationen ausgegeben.
CPP Code: CDrawPlus() { GdiplusStartup(&this->dwGdiStartup, &gdiStartup, NULL); } //[...] void Init(HDC hdc, Color clr, char* fontname, int fontsize) { this->p_gdiGraph = new Graphics(hdc); this->p_pen = new Pen(clr, 1); this->p_font = new Font((WCHAR*)fontname, fontsize); this->p_brush = new SolidBrush(clr); } //[...] void DrawString(int x, int y, Color clr, char* text, ...) { va_list va_alist; char buffer[1024] = { 0 }; va_start(va_alist, text); vsprintf(buffer, text, va_alist); va_end(va_alist); this->p_brush->SetColor(clr); this->p_gdiGraph->DrawString((WCHAR*)buffer, -1, this->p_font, PointF(x,y), this->p_brush); }
edit: da in der zeile müsste das: char buffer[1024] = {'\0'}; stehen, und nix mit TEXT Code: 0[/ code] [code=cpp] gDraw.Init(GetWindowDC(hWnd), Gdiplus::Color(255,255,255,255), "Arial", 12); //[...] gDraw.DrawString(iScreenPos[0], iScreenPos[1]-15, Gdiplus::Color(255,settings.ct_r, settings.ct_g, settings.ct_b), "HP: %i ", pPlayer[i].health);
Auf meinem Bildschirm wird dann sowas anstatt der HP angezeigt: Um Links zu sehen, musst du dich registrieren
Jemand ne Idee woran das liegen könnte oder hatte den Fehler schonmal?
|