"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Visual C++. Text wird nicht angezeigt

LakeBodom 19.07.2002 - 11:12 685 11
Posts

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
code:

void CFonttestView::OnDraw(CDC* pDC)
{
CFonttestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

CFont hfont;
CRect r(0,0,0,0);

hfont.CreatePointFont(120,"Arial",pDC);
pDC->SaveDC();
pDC->SelectObject(&hfont);


pDC->DrawText("TextBox";,&r,DT_CALCRECT);

r.top = pDoc->punkt.y;
r.left = pDoc->punkt.x;
pDC->DrawText("TextBox",r,DT_CENTER);
pDC->RestoreDC(-1);
}

punkt is ein normaler CPoint.
ohne die überschreibung der CRect r.top und r.left wird der text angezeigt, sonst aber nicht!
An was kann das liegen? plz help

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Wieso sollte er auch angezeigt werden? Du verschiebst ja den linken oberen Punkt vom Rechteck. Wenn punkt (0,0) ist, ändert sich gar nichts. Bis (56,18) machst du das Rechteck immer kleiner und schneidest halt den Text ab, bei allen Werten darüber hat das Rechteck negative Ausdehnung, und da drin hat halt einfach kein Text Platz. Vielleicht meinst du ja r.OffsetRect(pDoc->punkt).

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
du zeichnest text in ein rechteck das 0 pixel lang und 0 pixel breit ist

du könntest zb mit GetClientRect das rechteck des fenster ermitteln

ps:
syntaxfehler: pDC->DrawText("TextBox";,&r,DT_CALCRECT);

pps: keine mfc verwenden und das leben wird leicht ;)
Bearbeitet von FMFlash am 19.07.2002, 19:32

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Mit DT_CALCRECT wird nicht gezeichnet, sondern die Größe des Rectangles errechnet.

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
dankeschön

hab jetzt a bissi bastelt und es funktioniert ~hurra~

hach, die syntaxfehler :rolleyes:
ps: i muss mit der MFC leben ~g~

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Ich find die MFC nichtmal so schlimm, wie immer behauptet wird. Es gibt zwar schon Sachen, die ziemlich kompliziert sind, aber i.A. ist sie ganz praktisch.

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
mhm, find ich auch. schon sehr komfortabel. der assistent is wirklich mächtig.

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
Zitat von LakiStrike
mhm, find ich auch. schon sehr komfortabel. der assistent is wirklich mächtig.

schon mal den borland c++ builder angschaut? die anwendungsassistenten find ich ziemlich unnötig imo .. generieren einen haufen files und man weiss erst wieder nicht was hinter den kulissen passiert
da code ich lieber in einem einzigen cpp file in winapi ohne irgendwelche assistenten und hab volle kontrolle über das programm

im moment muss ich auch mit der mfc leben, aber auch nur weil ich einen automation server coden muss und dafür taugts sogar halbwegs was ... (wenn ich schon wüsst wies im borland geht würd ich allerdings damit machen)

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
jeder hat sein favorit bastelprogramm :D

thorn][bySSG

Little Overclocker
Avatar
Registered: Jul 2002
Location: Villach
Posts: 53
Zitat von FMFlash
pps: keine mfc verwenden und das leben wird leicht ;)


Genau , bitte keine MFC.
Nimm Qt für graphische Pogrammierung, kannst unter WIN32 und Linux
verwenden.

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
was is denn Qt ?

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
QT ist die Library, die für KDE unter Unix verwendet wird. Gibt auch eine Windows Version, die bis vor einiger Zeit gar nicht gratis erhältlich war und jetzt nur für nichtkommerzielle Projekte, wenn ich mich recht erinnere.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz