NLDelphi logo

Apada
Start Forum Nieuws Artikelen Links E mail Statistieken
NLDelphi partnersite: nlDotnet
NLDelphi

Ga Terug   NLDelphi > Diversen > Open source > NGLN > NLDDigiLabel

Antwoord
 
Onderwerpopties Zoek in onderwerp Stem op Onderwerp Weergavemodus
Oud 07-Feb-07, 10:20   #1
NGLN
Registered User
 
NGLN's Avatar
 
Geregistreerd op: Aug 2004
Locatie: Werkendam
Berichten: 4.614
Versiehistorie

Omschrijving:
NLDDigiLabel is een grafisch component (afgeleide van TGraphicControl) welke ongeveer hetzelfde werkt als een normale TLabel, waarbij er in plaats van een string een Integer-waarde wordt weergegeven in een zogenaamd digitaal formaat. Zie onderstaand plaatje voor een voorbeeld.

Oorsprong:
Eeeuuhmm, die ligt bij dit onderwerp. Dat onderwerp sprak me aan en ik zag er een uitdaging in om er een netjes component van te maken. Een aantal ideeën die bij dat onderwerp zijn besproken of gepost heb ik gebruikt bij het maken van dit component. Gebruiken doe ik dit component overigens zelf niet, het was slechts voor de hobby.

Gebruik:
Plaats een TNLDDigiLabel component op je Form, Frame of ander WinControl en stel daarvan de volgende property's in:
  • DigitCount: geeft 1 tot 11 cijfers weer,
  • DigitFont: kies uit een vijftal voorgedefinieerde "fonts", of maak een eigen DigitFont aan volgens de bijgeleverde handleiding. Afwijkend van een normaal font is dat het formaat van het DigitFont in het fonttype is opgeslagen. Zie ook de property DigitScale,
  • DigitScale: verschaal het font,
  • Color: de achtergrondkleur van het label,
  • DigitColor: de kleur van de oplichtende segmenten van een cijfer,
  • DigitGrayColor: de kleur van de niet-oplichtende segmenten van een cijfer,
  • Alignment, Layout, Transparent, OnMouseEnter/Leave: zoals we die kennen van TLabel,
  • Value: de Integer-waarde waarmee je de "tekst" die het label weergeeft bepaald.
Met de methods IncValue en DecValue kun je de property Value op een eenvoudige manier manipuleren.

Voordelen:
Tja, zoals voor elk component geldt: sleep het op je form en je hebt er geen omkijken meer naar...

Nadelen:
Bij een hoge refreshrate (bijvoorbeeld met een Timer de Value property elke 50 milliseconden bijwerken) dan gaat het component flikkeren. Omdat het component een TGraphicControl is en daarom geen WindowHandle heeft, vond ik het niet gepast om dit nadeel binnen het component zelf op te lossen. De juiste oplossing is de DoubleBuffered property van de Parent op True zetten.

Bugs:
Voor zover ik weet zijn er geen bugs. Meldt ze alsjeblieft wel!

Openstaande ideeën:
  • Eventueel decimale getallen kunnen weergeven,
  • Eventueel tekst kunnen weergeven (uitgebreider font nodig, hoewel dergelijke fonts ongetwijfeld gewoon in conventionele types bestaan),
  • Value truncen naar aantal digits. Hier is bewust niet voor gekozen,
  • Ingebouwde timer. Ook hier is bewust niet voor gekozen.
  • ...
Disclaimer:
Het component is ongetwijfeld in vele gedaantes via andere componentensets verkrijgbaar, maar zou de wereld er niet stukken beter uitzien met de standaard componentenset van Borland, slechts aangevuld met die van NLDelphi?

Waar te vinden?
Wensen, opmerkingen, bugreports, bugsolutions, en alle andere vragen verneem ik graag in een aparte thread.

Veel plezier...
Bijgesloten Plaatje(s)
 
__________________
(Sender as TNLDUser).Signature := 'Groeten van Albert';

Laatst aangepast door NGLN : 17-Apr-08 om 02:34 Reden: link naar SVN omgezet
NGLN is offline   Met citaat antwoorden
Oud 07-Feb-07, 13:07   #2
rik.osstyn
Senior Member
 
rik.osstyn's Avatar
 
Geregistreerd op: Nov 2006
Berichten: 862
Ziet er leuk uit.

Misschien een leuke aanvulling: A tem F kunnen weergeven, want dat gebruik ik zelf regelmatig.
__________________
De verbazing begint waar de kennis ophoudt
rik.osstyn is offline   Met citaat antwoorden
Oud 10-Feb-07, 03:16   #3
NGLN
Registered User
 
NGLN's Avatar
 
Geregistreerd op: Aug 2004
Locatie: Werkendam
Berichten: 4.614
Nieuwe versie...

Wijzigingen:
  • Property DisplayNumeralSystem toegevoegd (nsBinary, nsOctal, nsDecimal, nsHexadecimal),
  • Property Value Int64 van gemaakt (was Integer),
  • Maximum aantal digits van 11 naar 32 verhoogd.
Veel plezier er mee...
__________________
(Sender as TNLDUser).Signature := 'Groeten van Albert';
NGLN is offline   Met citaat antwoorden
Antwoord

Bookmarks


Momenteel bekijken: 1 (0 leden en 1 gasten en/of zoekmachine bots) actieve gebruikers dit onderwerp
 
Onderwerpopties Zoek in onderwerp
Zoek in onderwerp:

Geavanceerd zoeken
Weergavemodus Stem op dit onderwerp:
Stem op dit onderwerp::

Berichting Regels
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Aan
Smilies zijn Aan
[IMG] code is Aan
HTML code is Uit

Forumnavigatie


Alle tijden zijn GMT +2. De tijd is nu 01:22.


Forum software: vBulletin, versie 3.8.6
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Copyright ©2011, NLDelphi.com (Dutch Delphi programming)