Delen via


Text-Formatting kenmerken

Een toepassing kan zes functies gebruiken om de kenmerken voor tekstopmaak in te stellen voor een apparaatcontext: SetBkColor, SetBkMode, SetTextAlign, SetTextCharacterExtra, SetTextColoren SetTextJustification. Deze functies zijn van invloed op de uitlijning van tekst, de intertekenafstand, de tekstuitvulling en tekst- en achtergrondkleuren. Daarnaast kunnen zes andere functies worden gebruikt om de huidige kenmerken voor tekstopmaak op te halen voor elke apparaatcontext: GetBkColor, GetBkMode, GetTextAlign, GetTextCharacterExtra, GetTextColoren GetTextExtentPoint32.

Tekstuitlijning

Toepassingen kunnen de functie SetTextAlign gebruiken om op te geven hoe het systeem de tekens in een tekenreeks moet plaatsen wanneer ze een van de tekenfuncties aanroepen. Deze functie kan worden gebruikt om koppen, paginanummers, bijschriften enzovoort te plaatsen. Het systeem plaatst een tekenreeks met tekst door een verwijzingspunt uit te lijnen op een imaginaire rechthoek rond de tekenreeks, met de huidige cursorpositie of met een punt dat als argument wordt doorgegeven aan een van de tekenfuncties voor tekst. Met de functie SetTextAlign kan de toepassing de locatie van dit referentiepunt opgeven. Hier volgt een lijst met de mogelijke referentiepuntlocaties.

Locatie Beschrijving
links/onder Het referentiepunt bevindt zich linksonder in de rechthoek.
linker-/basislijn Het referentiepunt bevindt zich op het snijpunt van de tekencelbasislijn en de linkerrand van de rechthoek.
links/boven Het referentiepunt bevindt zich in de linkerbovenhoek van de rechthoek.
midden/onder Het referentiepunt bevindt zich in het midden van de onderkant van de rechthoek.
midden-/basislijn Het referentiepunt bevindt zich op het snijpunt van de tekencelbasislijn en het midden van de rechthoek.
midden/boven Het referentiepunt bevindt zich in het midden van de rechthoek.
rechts/onder Het referentiepunt bevindt zich in de rechterbenedenhoek van de rechthoek.
rechter lijn/basislijn Het referentiepunt bevindt zich op het snijpunt van de tekencelbasislijn en de rechterrand van de rechthoek.
rechts/boven Het referentiepunt bevindt zich in de rechterbovenhoek van de rechthoek.

 

In de volgende afbeelding ziet u een tekenreeks met tekst die is getekend door de functie TextOut- aan te roepen. Voordat u de tekst tekent, werd de functie SetTextAlign aangeroepen om het referentiepunt op elk van de negen mogelijke locaties te verplaatsen.

afbeelding met dezelfde tekst negen keer, één voor elke mogelijke referentiepuntlocatie

De standaardtekstuitlijning voor een apparaatcontext is de linkerbovenhoek van de imaginaire rechthoek rond de tekst. Een toepassing kan de huidige instelling voor tekstuitlijning voor elke apparaatcontext ophalen door de functie GetTextAlign- aan te roepen.

Spatie tussen tekens

Toepassingen kunnen de functie SetTextCharacterExtra gebruiken om de intertekenafstand voor alle tekstuitvoerbewerkingen in een opgegeven apparaatcontext te wijzigen. In de volgende afbeelding ziet u een tekenreeks die twee keer is getekend door de functie TextOut- aan te roepen. Voordat u de tekst de tweede keer tekent, werd de functie SetTextCharacterExtra aangeroepen om de intercharacter-afstand te verhogen.

illustratie die dezelfde tekst twee keer weergeeft: eerst met normale intercharacterafstand en vervolgens met bredere afstand

De standaardafstandswaarde voor intercharacter voor elke apparaatcontext is nul. Een toepassing kan de huidige intercharacter-afstandswaarde voor een apparaatcontext ophalen door de functie GetTextCharacterExtra aan te roepen.

Tekst uitvullen

Toepassingen kunnen de functies GetTextExtentPoint32 en SetTextJustification gebruiken om een tekstregel te rechtvaardigen. Tekstuitvullen is een veelvoorkomende bewerking in desktoppublicaties en in de meeste tekstverwerkingstoepassingen. De functie GetTextExtentPoint32 berekent de breedte en hoogte van een tekenreeks met tekst. Nadat de breedte is berekend, kan de toepassing de functie SetTextJustification aanroepen om de extra afstand tussen elk van de woorden in een regel tekst te verdelen. In de volgende afbeelding ziet u een alinea met tekst die tweemaal wordt afgedrukt: in de eerste alinea was de tekst niet gerechtvaardigd; in de tweede alinea werd de tekst gerechtvaardigd door de functies GetTextExtentPoint32 en SetTextJustification aan te roepen.

afbeelding met een alinea die alleen links is uitgelijnd en dan dezelfde alinea die aan zowel de linker- als rechterkant is uitgelijnd

Tekst- en achtergrondkleur

Toepassingen kunnen de functie SetTextColor gebruiken om de kleur van tekst in te stellen die in het clientgebied van hun vensters is getekend, evenals de kleur van tekst die op een kleurenprinter is getekend. Een toepassing kan de functie SetBkColor gebruiken om de kleur in te stellen die achter elk teken wordt weergegeven en de functie SetBkMode om op te geven hoe het systeem de geselecteerde achtergrondkleur moet combineren met de huidige kleur of kleuren op de videoweergave.

De standaardtekstkleur voor een weergaveapparaatcontext is zwart; de standaardachtergrondkleur is wit; en de standaardachtergrondmodus is OPAQUE. Een toepassing kan de huidige tekstkleur voor een apparaatcontext ophalen door de functie GetTextColor aan te roepen. Een toepassing kan de huidige achtergrondkleur voor een apparaatcontext ophalen door de functie GetBkColor en de huidige achtergrondmodus aan te roepen door de functie GetBkMode aan te roepen.