Tabelki w RichEdit i problem z toolbuttonem.

dział ogólny

Tabelki w RichEdit i problem z toolbuttonem.

Nowy postprzez babkakryzysowa » czwartek, 28 października 2010, 17:03

Witam,

mam C++ Builder 6 Personal i drobne problemy :)
Piszę prosty edytor tekstowy, dlatego wstawienie tabel w stylu excela niestety mi nie pomaga.
Czy istnieje możliwość stworzenia tabeli w RichEdit?
Z odczytem nie ma problemu, przynajmniej takie proste tabelki czyta ok.
Gdzieś ktoś o PFM_TABLE pisał.
Tabelka nie musi być edytowalna (szerokość, grubość liń etc.), więc wystarczy tylko możliwość jej wstawienia (zdefiniowania ilości kolumn i wierszy) i wypełnienia tekstem.
Przykład drugiego problemu :)
Chcę dać toolbutton1 z pogrubieniem tekstu i mieć możliwość ponownego kliknięcia w celu usunięcia pogrubienia.
Rozumiem, że za kliknięcie(wciśnięcie buttonu) odpowiada Down.
Męczę sie od jakiegoś czasu z tym warunkiem i nie działa.

Proszę o wskazówki :)
Avatar użytkownika
babkakryzysowa
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): czwartek, 7 października 2010, 23:45
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Kubuntu,Windows XP
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPFirefox

Re: Tabelki w RichEdit i problem z toolbuttonem.

Nowy postprzez Cyfrowy Baron » czwartek, 28 października 2010, 18:34

Z tego co się orientuję to standardowy TRichEdit nie umożliwia wstawiania tabel i ich nie obsługuje. Istnieje biblioteka TRichView, która posiada znacznie większe możliwości, ale jest to wersja komercyjna i chyba nie występuje w wersji dla tak starego środowiska C++Builder.



Co się tyczy drugiego problemu to nie ma znaczenia, czy jest to Button, czy ToolButton czy innego rodzaju przycisk. Za kliknięcie odpowiada zdarzenie OnClick. Jak jednak rozumiem, chcesz sterować tym przyciskiem w ten sposób, że jak zaznaczysz pogrubiony już tekst w RichEdit to ten przycisk to właściwość Down tego przycisku przyjmie wartość true w przeciwnym razie false. By przycisk ToolButton zachowywał się w pożądany sposób musisz zmienić jego właściwość Style na tbsCheck.

Zmiana stanu przycisku ToolButton na Down = true, gdy zaznaczony w RichEdit1 tekst jest pogrubiony musi odbywać się w zdarzeniu OnSelectionChange. Zmiana stylu tekstu odbywa się oczywiście w zdarzeniu OnClick dla przycisku ToolButton:

KOD cpp:     UKRYJ  
void __fastcall TForm1::RichEdit1SelectionChange(TObject *Sender)
{
 TTextAttributes *SelAttributes = RichEdit1->SelAttributes;
 ToolButtonBold->Down = SelAttributes->Style.Contains(fsBold);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ToolButtonBoldClick(TObject *Sender)
{
 if(ToolButtonBold->Down)
   RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style << fsBold;
 else
   RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style >> fsBold;
}

W katalogu: C:\Program Files\Borland\CBuilder6\Examples\Apps\RichEdit - masz przykładowy wykorzystujący ten komponent.

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
babkakryzysowa
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Tabelki w RichEdit i problem z toolbuttonem.

Nowy postprzez babkakryzysowa » czwartek, 28 października 2010, 19:22

Dzięki wielkie :)
Przeglądałam wcześniej ten przykład, ale nie zauważyłam zmiany w style.
Co do tabelki.
Jeżeli stworzę ją w Wordzie i zapiszę jako *.rtf, to wyświetli ją: http://kryzysowa.cal24.pl/babka/re.jpg .
Dlatego zastanawia mnie czy potrafi też stworzyć takie coś, skoro wyświetla.
Niestety satysfakcjonującej odpowiedzi znaleźć nie potrafię.
Avatar użytkownika
babkakryzysowa
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): czwartek, 7 października 2010, 23:45
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Kubuntu,Windows XP
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPFirefox

Re: Tabelki w RichEdit i problem z toolbuttonem.

Nowy postprzez Cyfrowy Baron » czwartek, 28 października 2010, 19:32

Sam kiedyś zauważyłem coś podobnego, ale niestety tylko wyświetla. Natomiast biblioteka TRichView już to potrafi.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Tabelki w RichEdit i problem z toolbuttonem.

Nowy postprzez babkakryzysowa » sobota, 30 października 2010, 23:31

Nie chcę zakładać nowego tematu, bo jest pokrewny.
Czy istnieje możliwość wstawienia obrazka do RichEdit ?
Bez kombinacji z opływaniem tekstu, ale z możliwością dopisywania pod obrazkiem.
Avatar użytkownika
babkakryzysowa
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): czwartek, 7 października 2010, 23:45
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Kubuntu,Windows XP
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPFirefox

Re: Tabelki w RichEdit i problem z toolbuttonem.

Nowy postprzez Cyfrowy Baron » niedziela, 31 października 2010, 08:05

W sieci można znaleźć informacje, że można wstawić bitmapę poprzez schowek, jednak mimo wielu prób okazuje się to niemożliwe w Windows XP. Jeżeli chcesz wiedzieć co może klasa TRichEdit to uruchom sobie program WordPad, masz go w każdym systemie Windows. Program WordPad pracuje właśnie na TRcihEdit. To co można zrobić w WordPad możesz również zaprogramować w swoim programie. Do WordPad'a można co prawda wkleić obrazek, ale z TRichEdit to nie wychodzi, a przykłady dołączone do środowiska BCB6 również tego nie zawierają, co pozwala sądzić, że klasa TRichEdit dołączona do środowiska nie obsługuje obiektów OLE.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 38 gości