AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal Cursor Farb Problem bei eigener Editor Komponente....
Thema durchsuchen
Ansicht
Themen-Optionen

Cursor Farb Problem bei eigener Editor Komponente....

Ein Thema von mimi · begonnen am 15. Feb 2009
Antwort Antwort
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

Cursor Farb Problem bei eigener Editor Komponente....

  Alt 15. Feb 2009, 14:24
Hallo,
ich bin gerade dabei für Lazarus eine eigene Editor Komponente zu schreiben/Entwickeln die so ähnlich bzw. die gleichen aufgaben wie RichEdit von Delphi haben soll. Aber sie soll nicht kompatibel sein.
Ich bin auch schon recht weit gekommen. Nur habe ich ein Problem mit der Cursor Farbe. Es kann sein, dass man den Cursor zwischendurch bei bestimmten Farbauswahl nicht gut sehen kann. Dieses Problem hat im übrigen auch OpenOffice. Sie umgehen das Problem in dem der Cursor Blinkt. Ich möchte jedoch eine Möglichkeit haben, wo der Cursor nicht blinken muss.
Hier im Forum habe ich zwei Möglichkeiten gefunden, die das Problem schon zu 80% lösen:
Delphi-Quellcode:
function BlackWhiteContrastColor(value: TColor):TColor;
var
  intensity : Integer;
begin
  value := ColorToRGB(value);

  intensity := GetBValue(value) * 21 // Blue
    + GetGValue(value) * 174 // Green
    + GetRValue(value) * 61; // Red

   // intensity = 0 -> dark
   // intensity = 255*256 -> bright

  if intensity >= (128*256) then
    Result := clBlack
  else
    Result := clWhite;
end;

// Das Gegenteil von einer Farbe bestimmen.
(not ColorToRGB(PenColor)) and $00FFFFFF;
Im Cheat hat mir noch jemand diese Möglichkeit gezeigt:
Delphi-Quellcode:
function ContrastColor(const aPenColor:TColor):TColor;
var
  r, g, b:Byte;
begin
  r:=Red(aPenColor); g:=Green(aPenColor); b:=Blue(b);
  result:=(R * 77 + G * 150 + B * 28) div 255;
end; // ContrastColor
Aber bei allen drei Funktionen habe ich das Problem das der Cursor nicht gut sichtbar ist z.b.:
Ich habe einen Text mit Blauen Hintergrund und einer Gelben schrift. Dann habe ich einen Gelben Hintergrund mit Roter Schrift. Steht der Cursor jetzt genau dazwischen, kann man ihn nur schwer ausmachen. Ich habe ihn schon 2 Pixel breit gemacht. Mir schwebt so eine Funktion vor:
Ich übergebe einer Funktion zwei Farben und sie ermittelt daraus die optimalste Farbe die 100%ig sichtbar ist. Die frage ist nur: Wie geht sowas ? Geht sowas überhaupt ?
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz