Einzelnen Beitrag anzeigen

mimi

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

Platzierungs Problem bei Scrollbox

  Alt 4. Apr 2006, 22:40
Hallo,
ich habe da vermutlich ein kleines problem mit der Srcollbox, sicher bin ich mir nicht aber nach meinen test zuurteieln liegt es eindeutig an der Scrollbox.
also ersteinmal der code;
Delphi-Quellcode:
procedure TForm1.AddUserColors(Color:TColor);
var
  Shape:TShape;
  Count:Integer;
  l:Integer;
  c:TComponent;
begin

  Colors.Add(ColorToString(Color));
  Colors.SaveToFile(GetExeDir + '\' + uColor);

  Count:=GetUserColorShape;

  Shape:=TShape.Create(Form1);
  l:=-18;
  if Count = 0 then
    Shape.Left:=0
  else begin
    c:=TShape(FindComponent('T' + IntToStr(Count-1)));

    if c <> NIL then
      l:= GetOrdProp(c,'Left');

    Shape.Top:=((Count) div ColorDisplayCount)*18;

    if Count = ((Count) div ColorDisplayCount)*ColorDisplayCount then
      l:=0
    else
      l:=l+18;

    ShowMessage(IntToStr(Shape.Top) + '\' + IntToStr(l));

    Shape.Left:=l;

  end;


  Shape.Name:='T'+IntToStr(Count) ;


  Shape.Width:=16;
  Shape.Height:=16;
  Shape.Parent:=ScrollBox2;
  Shape.Brush.Color:=color;
  Shape.OnMouseDown:=Shape3MouseDown;
end;
diese code soll jetzt folgendes machen:
Er soll mir ein Shape zur laufzeit hinzufügen(funktiniert)
ColorDisplayCount bedeutet einfach nur das er 5 shappe in eine reihe anzeigt
ColorDisplayCount hat den wert 5 zu testzwecken bekommen normalerweise sollte es bei mir 70 sein.
die ersten 5 zeilen funktinieren einwand frei dann geht es los:
Die erste komponente wird noch richtig platziert aber die zweite in dieser zeile nicht mehr die wird um ca 2 pixel nach unten verscchoben und die nachfolgeden sogar um ca 18 pixel weiter nach unten so das große lücken entstehen.

(ich hoffe ihr könnt nachvollziehen was ich meine)
das seltsamme ist: ich nutzte die formel zur berechnung(selbst ausgedacht) in zwei weiteren funktionen dort funtkioniert es die sind zum laden da d.h. sie laden die farbwerte aus einer Datei in die Scrollbox1 und scrollbox2 rein. und ich habe es mit dem windows Taschenrechner nachgerechnet. Ich kann ja nicht gut mahte aber das müste ich noch können meiner meinung nach.

Also wer den fehler findet dem währe ich richtig dankbar.

!!!Vielen dank schonmal im vorraus !!!

PS:
seltsamm das ist schon heute das zweite problem wo ich mich im gleichem programm festgefahren habe und es nicht selbst lösen kann. ich glaube ich gehe besser ins Bett. Morgen ist ja auch noch ein Tag *G*
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat