Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++ (Borland 6): Text in Textfeld entfernen? (https://www.delphipraxis.net/40548-c-borland-6-text-textfeld-entfernen.html)

The Knight 17. Feb 2005 13:40


C++ (Borland 6): Text in Textfeld entfernen?
 
Ich arbeite an einem Texteditor in Borland C++6 und komme nicht weiter. Ich habe eine Menüleiste mit einem Lösch-Eintrag. Tastenkürzel ist die Entf-Taste. Da die Entf-Taste somit einer neuen funktion zugeordnet wurde, funktioniert das Entfernen von Text nicht mehr und ich muss es programmieren.

Dummerweise haben sich bisher alle daran die Zähne ausgebissen. Vielleicht könnt ihr mir helfen. Hier mein Code, der NICHT funktioniert (txt_eingabe ist ein Richedit-Feld):

TPoint CaretPoint = txt_eingabe->CaretPos;
txt_eingabe->Lines->Strings[CaretPoint.y] = txt_eingabe->Lines->Strings[CaretPoint.y].Delete(CaretPoint.x + 1,1);

Eisenherz 17. Feb 2005 17:17

Re: C++ (Borland 6): Text in Textfeld entfernen?
 
Ich habe zwei Vorschläge für dich:

Vorschlag 1:
Während dein Eingebefeld den Focus hat, entfernst du den Shortcut vom Menü:
Code:
void __fastcall TForm1::txt_eingabeEnter(TObject *Sender)
{
    MnuEntfernen->ShortCut = 0;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::txt_eingabeExit(TObject *Sender)
{
    MnuEntfernen->ShortCut = 46;
}
//---------------------------------------------------------------------------

Vorschlag 2:
Du sendest die Entfernentaste direkt an dein Eingabefelde:
Code:
void __fastcall TForm1::MnuEntfernenClick(TObject *Sender)
{
    if (ActiveControl == txt_eingabe)
    {
        SendMessage(txt_eingabe->Handle, WM_KEYDOWN, 46, 0);
        SendMessage(txt_eingabe->Handle, WM_KEYUP, 46, 0);
    }
}


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz