Witam
W Lazarusie, w formularzu raportu LazReport, mam wstawioną "pustą" grafikę o nazwie "foto". Jej wartości KeepAspect oraz Stretched ustawiłem na True. Grafika, podobnie jak pozostałe dane "tekstowe", jest umieszczona w polu tekstowym memo (o nazwie "pole_foto"). Dane są pobierane i podstawiane do raportu ze StringGrida. Dla bandy (Dane główne o nazwie MasterData1) na której znajdują się te dane (tekst + foto) mam zaznaczoną opcję "Rozciągnięcie". Wysokość grafiki, jeśli występuje, jest za każdym razem taka sama (110) i jest przekazywana w procedurze:
procedure TfOknoProgramu.frReport2EnterRect(Memo: TStringList; View: TfrView);
begin
SciezkaFoto:=ExtractFilePath(Application.ExeName)+'pliki\stany_magazynowe\foto\foto_id_'+StringGrid1.Cells[0, StringGrid1.Row]+'_nr_1.jpg';
if View.Name='foto' then
begin
if FileExistsUTF8(SciezkaFoto) then
begin
View.Visible:=True;
TFrPictureView(View).Picture.LoadFromFile(SciezkaFoto);
View.Height:=110;
end
else
begin
View.Visible:=False;
end;
end;
end;
Problem polega na tym, że w sytuacji gdy grafika jest wyższa niż "wysokość" tekstu w pozostałych komórkach tego wiersza, pole memo w którym się ona znajduje oraz pozostałe pola memo w wierszu, nie dopasowują się do wysokości grafiki i grafika ta "zachodzi" na kolejny wiersz poniżej (screen w załączeniu).
W jaki sposób mogę ustawić wysokość wszystkich obiektów memo w danym wierszu, (np. zaraz po określeniu wysokości grafiki: View.Height:=110), na wysokość równą wysokości grafiki + dajmy na to jeszcze 10px, w sytuacji gdy wysokość wiersza (wysokość wszystkich pól memo na bandzie Dane główne) jest mniejsza niż wysokość grafiki.
Ufff.. chyba nic nie zamotałem... ;-)
Z góry dzięki
pozdrawiam
Wojtek