Entf Taste in Richtextbox ohne Funktion keinen Plan warum!!!!



  • Hallöle

    folgendes ist passiert. hatte einen einfachen Editor geschrieben der auch Parsen konnte. klappte alles einwandfrei doch nachdem ich diesen code eingefügt habe ist die Entf Taste vollkomen ohne Funktion. Es wird zwar ein Keypress ausgelöst aber mehr auch nicht.

    void __fastcall TfrmHaupt::rftAWLKeyUp(TObject *Sender, WORD &Key,
          TShiftState Shift)
    {
        int j=0,i,intAnzZeichenAktuell3=0,intAnzZeichenAktuellZeile=0,x,y;
        String STZeile;
        frmHaupt->rftAWL->SelAttributes->Style=frmHaupt->rftAWL->SelAttributes->Style >> fsBold >> fsItalic;
        if ( ianzzeilen!=frmHaupt->rftAWL->Lines->Count )
        {
           x=rftAWL->CaretPos.x;
           y=rftAWL->CaretPos.y;
    
        if ( y>0 )
        {
    
            for ( int i=0;i<y;i++ )
            {
                intAnzZeichenAktuellZeile += frmHaupt->rftAWL->Lines->Strings[i].Length()+2;    //+2 wegen \r\n am Ende der Zeile
            }
        }
    
           intFehlernummer=0;
    
           for ( i=0;i<=frmHaupt->rftAWL->Lines->Count;i++ )
           {
               STZeile=frmHaupt->rftAWL->Lines->Strings[i];
               frmHaupt->rftAWL->SelStart=intAnzZeichenAktuell3; // Beim ersten zeichen anfangen
               frmHaupt->rftAWL->SelLength = STZeile.Length();
               intAnzZeichenAktuell3 += frmHaupt->rftAWL->Lines->Strings[i].Length()+2;    //+2 wegen \r\n am Ende der Zeile */
                if(frmHaupt->rftAWL->SelAttributes->Color==clRed)
               {
                   strFehler[intFehlernummer]= frmHaupt->rftAWL->Lines->Strings[i];
                   intFehlerZeile[intFehlernummer]=i;
                   intFehlernummer++;
               }
             }      
        /*
            for ( i=0;i<intFehlernummer;i++ )
            {
                if ( strFehler[i]!= frmHaupt->rftAWL->Lines->Strings[intFehlerZeile[i]] )
                {
                    for ( j=j;j<frmHaupt->rftAWL->Lines->Count;j++ )
                    {
                        if ( strFehler[i]== frmHaupt->rftAWL->Lines->Strings[j] )
                        {
                            intFehlerZeile[i]=j;
                            break;
                        }
                    }
                }
            }
          */
            frmHaupt->LBFehler->Items->Clear();
            for ( i=0;i<intFehlernummer;i++ )
            {
                frmHaupt->LBFehler->Items->Add("Syntaxfehler in Zeile: " + (String)intFehlerZeile[i] + " im Befehl: " + frmHaupt->rftAWL->Lines->Strings[intFehlerZeile[i]]);
                strFehler[i]=frmHaupt->rftAWL->Lines->Strings[intFehlerZeile[i]];
            }
        if ( y>0 )
        {
    
            for ( int i=0;i<y;i++ )
            {
                intAnzZeichenAktuellZeile += frmHaupt->rftAWL->Lines->Strings[i].Length()+2;    //+2 wegen \r\n am Ende der Zeile
            }
        }
            rftAWL->SelStart=intAnzZeichenAktuellZeile+x;
        frmHaupt->rftAWL->SelLength = 0;
        }
    
    }
    

    sieht hier jemand woran das liegen kann? Ich hab keinen Schiemer

    Vielen Dank für eure Hilfe

    MfG Felix


Anmelden zum Antworten