Atrybut zaznaczonego tekstu w richedit

0

Witam,
Chciałbym spytać się jak sprawdzić jaki zaznaczony tekst ma dokładnie atrybut.

przykład:

mam sobie tekst "Ala ma kota"

zaznaczam np. "ma kota" i zmieniam kolor czcionki na czerwony. Potem zaznaczam tylko ma i chce aby pokazało mi się ze dany fragment tekstu ma atrybut - w tym wypadku kolor czerwony.

na razie mam tylko takie coś :(

 void __fastcall TNotatnik::ToolButton18Click(TObject *Sender)
{
        if(ColorDialog->Execute()){
                Text->SelAttributes->Color = ColorDialog->Color;
        }
}
0

z SelAtributes możesz wczytać ten kolor.

0

no dobrze, ale jak mam np. tak

void __fastcall TNotatnik::ToolButton10Click(TObject *Sender)
{
        if(!ToolButton10->Down){
           Text->SelAttributes->Style = Text->SelAttributes->Style << fsBold;
        }else{
           Text->SelAttributes->Style = Text->SelAttributes->Style >> fsBold;
        }
}

//*****//

void __fastcall TNotatnik::TextSelectionChange(TObject *Sender)
{
        if(Text->SelAttributes->Style == Text->SelAttributes->Style << fsBold){
                ToolButton10->Down = true;
        }else{
                Text->SelAttributes->Style = Text->SelAttributes->Style >> fsBold;
                ToolButton10->Down = false;
        }
} 

to nie działa "odznaczenie" :( .

0

SelectionChange wywoła się tylko przy zmianie zaznaczenia, nie przy zmianie atrybutów.

0

ok, dziękuje :)

Może komuś kiedyś się przyda

void __fastcall TNotatnik::ToolButton10Click(TObject *Sender)
{
        if(Text->SelAttributes->Style != Text->SelAttributes->Style << fsBold){
           Text->SelAttributes->Style = Text->SelAttributes->Style << fsBold;
           ToolButton10->Down = true;
        }else{
           Text->SelAttributes->Style = Text->SelAttributes->Style >> fsBold;
           //ToolButton10->Down = false;
           // zbednie ....
        }
}

//-------------------------------------------------------------------------

void __fastcall TNotatnik::TextSelectionChange(TObject *Sender)
{
        if(Text->SelAttributes->Style == Text->SelAttributes->Style << fsBold){
                ToolButton10->Down = true;
        }else{
                ToolButton10->Down = false;
        }
} 

1 użytkowników online, w tym zalogowanych: 0, gości: 1