Results 1 to 5 of 5

Thread: KMemo vet maken van tekst vanaf cursor positie

  1. #1

    KMemo vet maken van tekst vanaf cursor positie

    Hallo,

    Ik ben bezig om met KMemo een tekstverwerker te maken. In onderstaand fragment kan de tekst Normaal of Vet worden weergegeven.
    Alleen de gehele tekst regel wordt Vet en niet vanaf de cursor positie. Hoe is dit te verhelpen?

    M.G. Frans

    Code:
    PROCEDURE TForm1.ToggleBox1Change(Sender: TObject);
    Var
       TB: TKMemoTextBlock;
    begin
      TB := TKMemoTextBlock.Create;
      If ToggleBox1.Checked = True then
        TB.TextStyle.Font.Style := TB.TextStyle.Font.Style + [fsBold]
      else
        TB.TextStyle.Font.Style := TB.TextStyle.Font.Style - [fsBold];
      KMemo1.SelectionTextStyle.Font := TB.TextStyle.Font;
      TB.Free;
    end;

  2. #2
    Het is al verbazend dat het werkt zoals je beschrijft. Waarom?
    Je definieert een blok TB, wat wordt gecreeerd, maar nergens aan wordt opgehangen. Weet het programma zo wat de omvang van het blok is? Blijkbaar is de default de gehele tekst.
    Dus: definieer het begin en het eind van het blok TB.

    Succes! Ik ben benieuwd naar je terugkoppeling ...

  3. #3
    Hallo,

    Met de volgende procedure:
    1. het is mogelijk om een gesecteerde tekst [fsBold] te maken.
    2. het is niet mogelijk om aan het einde van de regel tekst
    in te voeren welke [fsBold] is.
    3. cursor ergens in de tekst zetten (niet geselecteerd) heeft
    tot gevolg dat alles na de cursor [fsBold] wordt.

    Hoe kan dit worden opgelost zodat de punten 2 en 3 worden opgelost.
    H.G. Frans

    Code:
    PROCEDURE TForm1.SpeedButton1Click(Sender: TObject);
    VAR
      TextStyle: TKMemoTextStyle;
    
    BEGIN
      TextStyle := TKMemoTextStyle.Create;
      TRY
        TextStyle.Font.Style := [fsBold];
        TextStyle.Font.Color := clRed;
        TextStyle.Font.Size := 20;
        KMemo1.SelectionTextStyle := TextStyle;
      FINALLY
        TextStyle.Free;
      END;
    END;

  4. #4
    Ik heb met de Online Package Manager TKControls geinstalleerd. Daarna in een nieuw project de TKMemo met een TKSpeedButton geplaatst.
    Onder de TKSpeedButton heb ik jouw laatste code exact gekopieerd. Opgeslagen en met F9 gestart. Bij mij werkt het zoals volgens jouw beschrijving zou moeten werken.
    De geselecteerde tekst wordt GrootVet20. Wanneer ik de cursor hierna ergens anders plaats is de cursor nog alsof het Font ter plekke is gewijzigd, maar als ik begin te typen komt de tekst er met default style uit en de cursor krijgt de normale grootte.

    Het valt me op dat de TMemo in configuratiemode een tekst heeft met de mededeling: 'This is a beta state control. You may already use it in your programs but some important functions may still be missing.'. Het werkt dus nog niet overal naar behoren. Waar? Een onbeantwoorde vraag.

    Wat mij verbaast is dat ik nergens (unit kmemo) een versie indicatie, release datum, release info of change list zie.
    In Github zie ik de package (/kryslt/KControls/) met een eerste release (v1.0) in 2009, de laatst gerapporteerde release (v1.7) is van 2015.
    Al-met-al vraag ik mij dus af of deze component voldoende 'af' en nog wordt bijgehouden.

    Wat is de reden dat je deze component wilt gebruiken?

  5. #5
    Quote Originally Posted by MaartenW View Post
    Wat mij verbaast is dat ik nergens (unit kmemo) een versie indicatie, release datum, release info of change list zie.
    In Github zie ik de package (/kryslt/KControls/) met een eerste release (v1.0) in 2009, de laatst gerapporteerde release (v1.7) is van 2015.
    Al-met-al vraag ik mij dus af of deze component voldoende 'af' en nog wordt bijgehouden.
    Bij dat soort dingen kijk ik meer naar de laatste wijzigingen dan naar de tekst in de README.md.

    Laatste wijziging schijnt 3 maanden geleden te zijn.
    https://github.com/kryslt/KControls

    Ook de commits en code-frequency geven een beter beeld van hoe zo'n component onderhouden wordt.
    https://github.com/kryslt/KControls/...ommit-activity

    Bij Forks kun je dan zien wie het project geforkt heeft en welke misschien wijzigingen aangebracht hebben.
    https://github.com/kryslt/KControls/forks

    Vergeet ook niet de Issues: https://github.com/kryslt/KControls/issues
    en close issues te bekijken: https://github.com/kryslt/KControls/...ue+is%3Aclosed
    Dat geeft ook wel een idee.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •