Steuerelement unabhängig von der Auflösung
-
funzt ohne das was man was macht....
-
oder machst du den button je nach auflösung selbst größer oder kleiner?
-
Nein,
also die Buttons habe ich mit dem ResourceEditor erstellt und dann auf ownerdrawn gesetzt und eine passende DrawItem Funktion geschrieben.
Komischerweise werden die Buttons immer vernüftig dargestellt.(liegt wohl daran das ich sie mit dem ResourceEditor erstellt habe).Jetzt will ich einfach eine Linie auf diesen Button zeichnen der auch unabhängig von der Auflösung ist.
Ich weiss das ich es mit GetSytemMetrics realisieren kann habe aber leider keine idee wie ich auf ein vernüftiges verhältniss kommen kann.Das ist mein einziges Prob!!!Thx
-
Ich weiss das ich es mit GetSytemMetrics realisieren kann habe aber leider keine idee wie ich auf ein vernüftiges verhältniss kommen kann.Das ist mein einziges Prob!!!
du brauchst garnichts zu tun. geht alles automatisch. wie zeichnest du denn die linie?
-
Sein Problem ist:
Alle Steuerelemente, die man mit dem Ressourceneditor erstellt sind in sogenannten DLUs (Dialog Box Units) angegeben.
Diese hängt aber ab von der Auflösung, verwendetem Desktop-Modell etc.
Das heisst, ein Button kann mit einer anderen Einstellung ganz andere Dimensionen haben (in Pixeln).Ich denke die Lösung besteht darin, die Pixel-Grösse der Steuerelemente zur Laufzeit abzufragen.
-
Hi,
@get: mit MoveTo und LineTo vorher natürlich ein passendes CPen Objekt erstellt
@scrontch: zur laufzeit?? Gibt es den keine einfache Lösung für das (kleine) Prob?
Thx
-
GetClientRect oder GetWindowRect mal ausprobieren
-
Diese hängt aber ab von der Auflösung..
genauer gesagt von der schriftart und größe des dialogfeldes und kann über Dialog Box Units in pixel umgewandelt werden.
dies muß auch mit den kinderfenstern passieren.
ein code-auszug deines problem's wäre sicher hilfreicher sonst schwatzen wir noch morgen
-
Hi,
hat zwar etwas gedauert aber da bin ich wieder.
Hier der gewünschte Codeausschnitt mit dem ich die Linie auf den Button zeichne:pDC->MoveTo(2,(m_iYScreen-(m_iYScreen0.95)));
pDC->LineTo(76,(m_iYScreen-(m_iYScreen0.95)));aber funzt irgendwie nicht.
Habe bestimmt einen Denkfehler was das verhältniss angeht.
Kann doch nicht so schwer sein eine Linie zu zeichnen die auflösungsunabhängig ist sprich immer an der selben stelle.Thx schonmal...
FROHE OSTERN!!!
-
Hi Leute,
ihr feiert bestimmt noch alle Ostern,trotzdem schieb ich es mal nach oben da es sehr wichtig ist.
Thx im voraus
C u