Ich habe Delphi7 und Windoes7.
Ich benutze die Komponeten ComboBoxEx, ImageList und Image.
Im Programm male ich waagerechte Linien in das Image mit einer Pen.Width:=(For-Varianle 1 bis30).
Dann füge ich das Image in eine ImageList mit ImageList1.Add ein.
Dann mache ich einen Eintrag in ComboBoxEx mit ComboBoxEx1.ItemsEx.AddItem.
Nach der For-Schleife füge ich noch die Imagelist mit ComboBoxEx1.Images:=ImageList1 in die ComboBoxEx ein.
Nun zu meinem Problem:
Die Drop-Down Liste in der ComboBoxEx sieht gut aus. Linien in verschiedener Strichstärke werden angezeigt.
Nur wenn ich einen Eintrag anklicke, so wird der Eintrag als auch das Textfeld so gezeichnet, als hätte ich beim
füllen immer die Pen.Width:=1 benutzt.
Hat da jemand eine Idee?
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| fl.Left:=0; fl.Top:=0; fl.Right:=149; fl.Bottom:=32; Image4.Canvas.Brush.Color:=clWhite; Image4.Canvas.Brush.Style:=bsSolid; Image4.Canvas.Pen.Color:=clBlack; Image4.Canvas.Pen.Mode:=pmCopy; Image4.Canvas.Pen.Style:=psSolid; if sta = 0 then begin sta:=1; ComboBoxEx1.Clear; ImageList1.Clear; ComboBoxEx1.ItemHeight:=33; for a:=1 to 30 do begin Image4.Canvas.FillRect(fl); Image4.Canvas.Pen.Width:=a; c:=28-Floor(a/2); Image4.Canvas.MoveTo(0,c); Image4.Canvas.LineTo(149,c); b:=ImageList1.Add(Image4.Picture.Bitmap, nil); e:=' '+IntToStr(a); d:=Length(e); if d = 1 then begin e:=' '+e; end; ComboBoxEx1.ItemsEx.AddItem(e, b, 0, 0, 0, nil); end; ComboBoxEx1.Images:=ImageList1; |
Moderiert von
Narses: Delphi-Tags hinzugefügt