von Pixel in Twips

hptools

Grünschnabel
Hallo,

Ich habe ein Programm, vereinfacht gesagt, zum Zeichnen von Rechtecken.

Mit SetMapMode moechte ich das Ganze nun mit Twips, statt Pixeln arbeiten lassen.
Ich habe bedacht, dass die Y-Koordinate nach unten negativ verlaeuft und lasse auch die Pixel in Twips korrekt umrechnen, meine ich zumindest:
1440/pDC->GetDeviceCaps(LOGPIXELSX)

Umso weiter ich mich jetzt von der oberen linken Ecke entferne, umso weiter entfernt sich der Cursor vom zu zeichnenden Rechteck. Rundungsfehler beim Umrechnen? Ich weiss echt nicht mehr weiter.

Ich habe noch 2 Screenshots gemacht, die das visuell darstellen:
http://sasky.de/images/rechteck01.jpg
http://sasky.de/images/rechteck02.jpg
 
Die Umrechnung von Twips in Pixel ist soweit ich weiss nicht ganz einfach. Twips sind unabhängig von Auflösung und Bildschirm. Deswegen gibt es keine eindeutige Zuordnung zwischen Pixel und Twips - auf einem System kann ein Pixel aus 20 Twips bestehen, auf einem anderen aus 25. In Visual Basic bietet das Screen-Objekt eine Umrechnungsmethode an, vielleicht gibt es das in C++ ja auch?
 
Lirion: Deswegen lasse ich das ja auch mit 1440/pDC->GetDeviceCaps(LOGPIXELSX) berechnen.

Habe ich doch oben geschrieben.
 
?? Also bei mir besteht das Problem irgendwie nicht!! Oder hab ich das falsch verstanden?? Also egal wie lang ich das Rechteck ziehe oder wohin, der Cursor ist immer in der unteren rechten Ecke des Rechtecks. Oder hab ich dein Problem falsch verstanden?
 
Aber es ist nicht auf genau dem selben Punkt, wo das Rechteck (rechts unten) endet, stimmts?

Umso weiter du das Rechteck nach rechts unten ziehst, umso weiter entfernt sich der Cursor von der Ecke.
 
Mr.Undertaker: Interessant.
Kannst du mir ein paar genauere Daten ueber dein System verraten?

Aufloesung?
Monitorgroesse?
Betriebssystem?
 
Zurück