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.
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.
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.
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.