Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Comboliste klappt nicht auf

  Alt 17. Mai 2019, 17:21
grrr... mir fehlt der erste Eintrag.

Zitat:
"AliceBlue, $F0F8FF_" _ ' COLORLABEL
"AntiqueWhite, $FAEBD7_" _ '
"Aqua, $00FFFF_" _ '
"Aquamarine, $7FFFD4_" _ '
"Azure, $F0FFFF_" _ '
"Beige, $F5F5DC_" _ '
"Bisque, $FFE4C4_" _ '
"Black, $000000_" _ '
Ich parse den String auf diese weise.

Delphi-Quellcode:
    if ColorLabel > 'then
    begin
      SetItem := -1;
      Parse := Split(ColorLabel, '_');
      Count := High(Parse);

      R1 := 0;
      G1 := 0;
      B1 := 0;

      for K := 0 to Count - 1 do
      begin
        // Get Color Name
        ColorName := Split(Parse[K], ',');
        CLName := ColorName[Low(ColorName)];
        SendMessage(HCombo, CB_ADDSTRING, 0, LParam(CLName));
        // Get Color Value
        Color := ColorName[High(ColorName)];
        R := Byte(StrToInt('$' + MidStr(Color, 3, 2)));
        G := Byte(StrToInt('$' + MidStr(Color, 5, 2)));
        B := Byte(StrToInt('$' + MidStr(Color, 7, 2)));
        SendMessage(HCombo, CB_SETITEMDATA, K, LParam(RGB(R, G, B)));
        
        if (R = R1) and (G = G1) and (B = B1) then
          SetItem := K;
      end;
      if SetItem > -1 then
        SendMessage(HCombo, CB_SETCURSEL, SetItem, 0);
    end;
Der erste Eintrag 0 wird nicht zur Liste addiert. Warum?

gruss

Geändert von EWeiss ( 9. Jul 2019 um 08:31 Uhr)
  Mit Zitat antworten Zitat