Hallo NG,
kann man irgendwie das Textobjekt in LL14 um 45 Grad drehen?
Grüsse
Hallo NG,
kann man irgendwie das Textobjekt in LL14 um 45 Grad drehen?
Grüsse
Nope. Nicht daß ich wüßte.
Nichtsdestotrotz kannst Du’s mal mit dem LL_CMND_OBJECT probieren und
bei _bPreDraw=TRUE die World Coordinates einfach so setzen wie Du
willst, und bei _bPreDraw=FALSE wieder auf den alten Wert zurück.
Folgender Code erhebt keine Anspruch auf Funktionstauglichkeit - viel
Spaß beim Experimentieren!!!
static XFORM XFOld; // oops - besser Member der Klasse!
static RECT rcPaintOld;
scLlObject& PS; // vom Callback
float dRot; // Rotationswinkel in Rad (0…2*Pi)
if (PS._bPreDraw)
{
::GetWorldTransform(PS._hPaintDC,&XFOld);
rcPaintOld = PS._rcPaint;
POINT ptCenter =
{
(PS._rcPaint.right - PS._rcPaint.left) / 2,
(PS._rcPaint.bottom - PS._rcPaint.top) / 2
};
XFORM XFRotated =
{
(float)(cos(dRot)),
(float)(sin(dRot)),
(float)(sin(dRot)),
(float)(cos(dRot)),
(float)ptCenter.x,
(float)ptCenter.y
};
SetWorldTransform(*pDevice,&XFRotated);
::OffsetRect(_rcPaint,-ptCenter.x,-ptCenter.y);
// nun wird das Textobjekt um (0,0) herum gezeichnet,
// und durch die World Transformation gedreht und um ptCenter
verschoben
// (hoffe ich zumindest… ;-)))
}
else
{
PS._rcPaint = rcPaintOld;
::SetWorldTransform(PS._hPaintDC,&XFOld);
}
Paulchen
“Hermann” <hermann@tecware-gm…> wrote in message
news:4689412112009182346@combit.net…
Hallo NG,
kann man irgendwie das Textobjekt in LL14 um 45 Grad drehen?
Grüsse
Danke, werde mal ausprobieren.