Announcement

Collapse
No announcement yet.

Einrückfunktion in richedit-komponente

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

  • Einrückfunktion in richedit-komponente

    tagchen,

    ich hätte gerne in meinem html-editor(verwende trichedit) eine Einrück-<br>
    funktion programmiert, wie bei delphi!!!<br>
    text markieren, dann eine bestimmte taste drücken und dann soll der<br>
    markierte text zum beispiel um 2 zeichen nach rechts gerückt werden.<br>
    wer kann mir verraten wie man sowas programmiert???<br>

    mfg

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    wenn ich herausfinden könnte in welche zeile(nummer) die markierung<br>
    beginnt, dann wäre das einrücken ein kinderspiel!!!!!!<br>
    habt ihr eine idee?????<br>

    mfg

    marku
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

    Comment


    • #3
      Hallo!<p>
      Aktuelle Zeile im Memo:
      <pre>
      Zeile := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, Memo1.SelStart, 0);
      </pre><p>
      Gruß,<br>
      Bernhar

      Comment


      • #4
        tag bernhard,

        das kenn ich!! aber das problem ist, daß ich die zeilennummer nur dann brauche wenn der anwender<br>
        text markiert. soll ich im ereignis onkeypress bzw. onkeydown die shifttaste und die cursortasten<br>
        abfragen? aber wenn die markierung über mehrere zeilen geht, soll er ja nur die erste zeilennummer<br>
        speichern!!! wie würdest du das programmieren?

        mfg

        marku
        Herzliche Grüße

        Markus Lemcke
        barrierefreies Webdesign

        Comment


        • #5
          Markus,

          falls du dich entschliessen solltest, das UCE zu benutzen, brauchst du das nicht mehr. Das Edit hat nämlich eine eigene Funktion, das automatisch den markierten text einrückt/ausrückt. Falls du das edit schon installatiert hast, probier einfach mal die tastenkombination Strg+Shift+I bzw. Strg+Shift+U <br> funzelt genauso wie beim delphi-code-editor auch...

          Comment


          • #6
            guten tag herr kaputnik,

            erstens weiß ich noch nicht ob ich die komponente verwende, ich schau sie mir erst mal an.<br>
            zweitens wenn ich <b>Strg+Shift+I bzw. Strg+Shift+U</b> lese, dann nehme ich sie wohl eher<br>
            nicht, weil daß ist mit <b>einer</b> hand fast nicht hinzubekommen!!

            ich habe in diesem forum an andere stelle meinen unmut über die tastenkombinationen des delphi-<br>
            editors geäußert!

            mfg

            marku
            Herzliche Grüße

            Markus Lemcke
            barrierefreies Webdesign

            Comment


            • #7
              Hm bei der tollen *lob* UCE-Komponente kannst du ganz einfach <u>jede</u> Tastenkombination ändern (Eigenschaft: <b>KeyStrokes</b>) auch das Einrücken. Mit der Komponente würdest dir echt eine Menge Arbeit ersparen.<p>
              Gruß,<br>
              Bernhar

              Comment


              • #8
                tag bernhard,<br>

                ich schaue mir die komponente auf jeden fall an. da ich dieses programm in meiner freizeit programmiere, ist es nicht<br>
                wichtig wie lange ich brauche. ich möchte einfach ein programmierprofi werden und deshalb interessiert es mich <b>wie</b><br>
                man so was programmiert. außerdem komme ich mit dem komponenten installieren in delphi 4 noch nicht klar!!!
                habe die komponente nicht installiert gebracht, aber vielleicht fehlt auch noch eine datei!!!!

                mein html-editor ist eigentlich fast <b>fertig</b>. ich habe es sogar hingebracht, daß die html-tags groß(farbig wollte ich nicht,<br>
                weil ich farbenblind bin) geschrieben werden!!!! wenn ich jetzt die komponente austausche, fange ich wieder von vorne an!!<br>

                das einrücken ist auch einfach, eine einzelne zeile einrücken ist kein problem, aber ich muß die zeilennummer(lines[i])<br>
                herausbekommen wo die markierung <b>anfängt</b>. wenn ihr keinen rat wißt, schaue ich mal im msdn oder in der api nach.
                das muß irgendwie gehen, wäre doch gelacht!!!!

                mfg

                markus

                p.s. das programmieren ist mein größtes hobby, deshalb mache ich mir gern die mühe!!!
                Herzliche Grüße

                Markus Lemcke
                barrierefreies Webdesign

                Comment


                • #9
                  Bernhards Antwort wäre auch meine antwort gewesen:<br>
                  Im Keystroke-editor kann man für jede funktion (und davon gibt es mehr als nur ne menge) eigene tastenkombinationen festlegen. Du kannst auch eine Funktion mit mehreren verschiedenen tastenkombinationen versehen, so dass z.B. links und rechst-händer jeweils ihre eigenen tastenkombinationen bekommen.<br>
                  Ausserdem sind alle diese funktionen natürlich über prozedur-aufrufe erreichen, so dass du auch bequem diese Funktionen auf ToolButtons o.ä. legen kannst.<br>
                  <br>
                  Eine rich-edit komponente für dein projekt zu benutzen wäre in etwa so, als ob du mit dem Fahrrad in deinen Italien-Urlaub fahren wolltest, obwohl ein Super-Luxus-Wohnmobil in deiner Grage steht. Natürlich hast du auch vom Fahrradfahren etwas (mehr fitness) aber bevor du überhaupt das ziel erreichst wette ich, dass du nicht über die alpen kommst.....:-)<br> Cu, Nic

                  Comment


                  • #10
                    Bei der Message <b>EM_LINEFROMCHAR</b> kannst du im 1. Parameter die Zeichen-Position übergeben, von der die Zeile berechnet werden soll (im gegensatz zur <b>EM_LINEINDEX</b>-Message). Das obige Beispiel (Antwort #2) müsste doch eigentlich klappen, oder?<p>
                    Die Installation von USE ist etwas kniffelig, da nicht dokumentiert. Du musst dir die "Unicode Syntax Edit" <b>und</b> (!) "Unicode support library" downloaden. Anschliessend das Package <b>USE.dpk</b> öffnen und per Knopfdruck installieren. Den Pfad musst du noch in den Delphi-Biblothekspfad aufnehmen (Menü Tools/Umgebungsoptionen).<p>
                    Viel Erfolg,<br>
                    Gruß,<br>
                    Bernhar

                    Comment


                    • #11
                      tag bernhard,

                      zunächst mal muß ich mich bei dir entschuldigen. klar war deine lösung richtig!!!!<br>
                      ich war mir der wirkung von selstart nicht ganz klar.<br>
                      für alle die irgendwann vielleicht mal auch sowas programmieren möchten oder nur neugierig sind<br>
                      hier der code:<br>
                      <br>
                      procedure TForm1.einrueckenClick(Sender: TObject);<br>
                      var<br>
                      j,zeichenzahl,i,zeilestart,zeileende:integer;<br>
                      begin<br>
                      zeichenzahl := 5;<br>
                      zeilestart := sendmessage(richedit1.handle, em_linefromchar,richedit1.selstart,0);<br>
                      zeileende := sendmessage(richedit1.handle, em_linefromchar,richedit1.selstart +<br>
                      richedit1.sellength ,0);<br>
                      for i := zeilestart to zeileende-1 do<br>
                      begin<br>
                      for j := 0 to zeichenzahl do richedit1.lines[i] := ' ' + richedit1.lines[i];<br>
                      end;<br>

                      end;<br>

                      end.<br>

                      mit zeichenzahl kann eingestellt werden wieviel zeichen man einrücken kann.<br>
                      klar, man kann daraus prozedur mit parameter machen, wo man den namen von richedit und die zeichen-<br>
                      zahl angegeben kann!!!

                      nun noch zu herrn kaputnik.<br>
                      aufgrund meiner behinderung mußte ich schon über viele <b>alpen</b> fahren und genau deswegen bin<br>
                      ich noch so fit(körperlich)! <br>
                      ich werde jetzt mit dem beruhigenden gefühl zu meinem <b>schachturnier</b> gehen, daß ich weiß wie man<br>
                      einrücken programmiert! stellen sie sich mal vor sie programmieren einen html-editor mit ihrer komponente.<br>
                      sie zeigen dem jemand und er ist ganz begeistert und fragt wie sie den das einrücken programmiert haben.<br>
                      sie antworten kurz und knapp "mit der unicode-komponente". der begeisterte hackt nach und fragt:<br>
                      "ja, wie funktuioniert den das?" jetzt kommt der moment wo sie dann sagen müssen:<br>
                      "das weiß ich auch nicht so genau, aber es tut!!". mhm, ich stelle mir so eine suituation nicht angenehm vor.<br>

                      mfg

                      marku
                      Herzliche Grüße

                      Markus Lemcke
                      barrierefreies Webdesign

                      Comment


                      • #12
                        Ich schaue einfach im sourcecode der Komponente nach....:-

                        Comment

                        Working...
                        X