Rect-Wert falsch?



  • Hihi,

    hab mal wieder ein Prob, meine Rect-Funktion spuckt einen falschen Wert aus? Kann so was sein? Wenn ja, worin ist das begründet.

    Folgende Ausgangssitutation:
    Ich frage von einem Steuerelement PICTURE die Position mit Rect ab. Dann bekomme ich die Werte für Top,Button,Left und Right. Zeichen ich dann eine Linie von Left,Buttom zu Right,Top dann ist dies nicht in meinem Rahmen, sondern in der Höhe ca. um den wert 25 verschoben. Korrigiere ich top und buttom um 25 ist die Linie im Kasten. Irgendwie aber unschön.

    Worin ist mein Prob. begründet?

    Danke für eure Antworten.

    Andrea 🕶



  • Kann es sein das du die Client und die Parent Rect daten verwechselst? Wenn du GetClientRect innerhalb deines Ctrl aufrufst, ist bsw. rect.top 0 ...



  • Oder fehlt da ScreenToClient oder wie das gleich noch heißt? 😕





  • MUSS nicht... kann ja sein das der Wirklich die nur die Client Coordinaten haben will... beim Zeichnen kann das sehr praktisch sein 🙂



  • Also ich hab das so angelegt:

    CRect rect;
    GetDlgItem(IDC_Visu)->GetWindowRect(rect);

    und dann verwende ich zum Zeichnen rect.bottom usw....

    eigentlich funktioniert das ja richtig tolle, allerdings verstehe ich den komischen Offset nicht. Ist auch nur in der Vertikalen, die Horizontale passt.

    Grüße

    Andrea


Log in to reply