Announcement

Collapse
No announcement yet.

Formen mit belibigem Aussehen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Formen mit belibigem Aussehen

    Ich wollte auch noch mehrtere Regionen gleichzeitig benutzen,
    ich habe also in der Win 32 SDK gesucht, zwar auch was gefunden was sich compilliren lässt nur es passiert nichts. Also meine Freage: Wie kann ich mehrere Regionen gleichzeitig benutzen.
    mfg Andre

  • #2
    Formen mit belibigem Aussehen

    Wie kann ich bei einer form das aussehen frei bestimmen (Stern,Kreis,Raute usw.). Wichtig ist auch das, wenn ich in meiner vorm zum Beispiel ein loch habe (Donut) das das Loch nicht mehr zur form gehört und ich durch das Loch Das darunter gelegene Objekt anklicken kann?

    mfg Andre`

    Comment


    • #3
      Hallo Andre,<br>
      was Du machen willst erhält man über 'regions', die man mit API-Funktionen erstellt.<br>
      Im C++ Builder Menü Hilfe -> Windows SDK -> Buch "Microsoft WIN32 Programmer's Reference" -> Buch "Regions"<br>

      kurzes Beispiel<br>
      HRGN MyRegion;<br>
      // erstellen einer runden Region<br>
      // wenn das Fenster kleiner als die Region ist wird auch nur der vorhandene Teil dargestellt<br>
      MyRegion = CreateEllipticRgn(0, 0, 100, 100); <br>
      // Handle ist das Handle Deines Fensters (TWinControl::Handle)<br>
      SetWindowRgn(Handle, MyRegion, true);<br>
      <br>
      Chri

      Comment


      • #4
        Danke deine Antwort hat mir echt weiter geholfen,
        nur wie bekomme ich einen Kreis mit Loch hin ???

        mfg.: Andre

        Comment


        • #5
          Wenn Du mehrere Regionen benutzen willst mußt Du sie kombinieren<br>
          <br>
          // Beispiel für einen Ring<br>
          HRGN aussen;<br>
          HRGN innen;<br>
          <br>
          aussen = CreateEllipticRgn(0, 0, 100, 100);<br>
          innen = CreateEllipticRgn(20, 20, 80, 80);<br>
          <br>
          CombineRgn(aussen, aussen, innen, RGN_XOR);<br>
          <br>
          SetWindowRgn(Handle, aussen, true);<br>
          <br>
          Chri

          Comment


          • #6
            Ist es auch möglich eine Form kommplett selbst zu gestalten??????

            Comment


            • #7
              mit CreatePolygonRgn kann man eine Region anhand von Punkten (Array) erstellen<br>
              <br>
              Beispiel für einen Stern mit 4 Spitzen<br>
              <br>
              HRGN Reg;<br>
              TPoint Points[9];<br>
              <br>
              Points[0] = TPoint(0, 0);<br>
              Points[1] = TPoint(100, 50);<br>
              Points[2] = TPoint(200, 0);<br>
              Points[3] = TPoint(150, 100);<br>
              Points[4] = TPoint(200, 200);<br>
              Points[5] = TPoint(100, 150);<br>
              Points[6] = TPoint(0, 200);<br>
              Points[7] = TPoint(50, 100);<br>
              Points[8] = TPoint(0, 0);<br>
              <br>
              Reg = CreatePolygonRgn(Points, 8, ALTERNATE);<br>
              <br>
              SetWindowRgn(Handle, Reg, true);<br>
              <br>
              <br>
              Chri

              Comment


              • #8
                Vielen Dank Chris.
                msmfg.: Andre

                Comment

                Working...
                X