Results 1 to 9 of 9

Thread: Eigen kleur in form / componenten

  1. #1
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,308

    Eigen kleur in form / componenten

    Waarom is de wereld van FMX niet gelijk an VCL? Zucht.....

    Ik heb de opdracht gekregen om een form met zijn componenten van een andere kleur te voorzien dan standaard.
    Er is gekozen voor orange (R 245 G 23 B 127)
    In VCL kan ik met deze conversie de kleur veranderen:
    Delphi Code:
    1. FrmShowscreen.Color :=  245 shl 16 + 23 shl 8 + 127 (gevonden op internet)
    Maar dat gaat bij FMX niet op. Daar moet de property fill worden gebruikt.
    Maar zover ik heb gevonden kan je gebruik maken van TAlphaColors. Maar die bevat niet de kleur, die ik wil hebben
    En dit werkt ook niet:
    Delphi Code:
    1. FrmShowscreen.Fill.Color :=  245 shl 16 + 23 shl 8 + 127

    Iemand enig idee hoe ik een eigen kleur kan gebruiken?
    Delphi is great. Lazarus is more powerfull

  2. #2
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    9,731
    Met kleuren kan van alles aan de hand zijn.

    1) de volgorde van de kanalen kan anders zijn (RGB vs BGR)
    2) Nieuwere systemen voegen typisch ook een alpha kanaal toe (RGBA/BGRA)
    3) de aftel toestand van het alpha kanaal kan verschillen (als in 0 = maximaal doorzichtig, of juist 255 = maximaal doorzichtig).

    Een manier om hier achter te komen zou kunnen zijn om FMX kleur waardes met inttohex te printen en dan te vergelijken met graphics' clgreen e.d.

  3. #3
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,308
    Ik weet in ieder geval dat de eerste twee waardes transparant zijn, want in talphacolors staan de eerste 2 als FF
    Delphi is great. Lazarus is more powerfull

  4. #4
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    9,731
    Laat eens wat waardes zien. Zijn het waarden verkregen met Inttohex ? De eerste 2 van de 8 of van de 6 digits ?

    Doe net alsof ik niks van FMX weet (wat ook zo is)

  5. #5
    Senior Member
    Join Date
    Aug 2010
    Location
    Biddinghuizen
    Posts
    338
    ik gebruik dit om van VCL naar FMX kleuren om te zetten:

    Result := RGBtoBGR($FF000000 + Kleur); (result is TAlphaColor )
    waarbij Kleur de waarde van de kleur in VCL is (TColor)
    Erik

  6. #6
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,308
    Ik ook niet. Maar ben wel wat verder.
    Deze procedure verandert de panel in een andere kleur:
    Delphi Code:
    1. procedure TFrmShowscreen.Panel1ApplyStyleLookup(Sender: TObject);
    2. var Rectangle: TRectangle;
    3. begin
    4.   Rectangle := (Sender as TFmxObject).Children[0] as TRectangle;
    5.   Rectangle.Fill.Color := TAlphaColor($FFF57F17);
    6. end;
    Dat is de juiste kleurcombinatie.

    Dit werkt niet:
    Delphi Code:
    1. Form2.fill.color := TAlphaColor($FFF57F17);

    Een listview veranderen van kleur wilt niet echt lukken
    Delphi is great. Lazarus is more powerfull

  7. #7
    I7 7700K 32Gb Win10 Pro Wok's Avatar
    Join Date
    Dec 2002
    Location
    Alkmaar
    Posts
    1,839
    Colors_in_FireMonkey

    Zit hier niets tussen, of iets wat er al iets op lijkt ?

    Gr.Peter
    10.1, Delphi2010, of Lazarus 1.8.4

  8. #8
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,308
    die had ik al gezien, Peter.

    FMX is een ramp voor active VCL gebruikers
    Delphi is great. Lazarus is more powerfull

  9. #9
    I7 7700K 32Gb Win10 Pro Wok's Avatar
    Join Date
    Dec 2002
    Location
    Alkmaar
    Posts
    1,839
    i known
    10.1, Delphi2010, of Lazarus 1.8.4

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
  •