memo.frame.typ В runtime
Цель такая, - если в процессе считывания данных по строке значение поля = '' then у всех трех memo в строке (на MasterData) убираем ftLeft и ftRight
делаю так
procedure Memo4OnBeforePrint(Sender: TfrxComponent);
begin
if <price>='' then
begin
Memo2.font.Color := clRed;
Memo3.font.Color := clRed;
memo2.frame.typ:=memo2.frame.typ-ftleft;
end
else
begin
Memo2.font.Color := clBlack;
Memo3.font.Color := clBlack;
memo2.frame.typ:=memo2.frame.typ+ftleft;
end;
end;
В данном прммере в строках где цена='' левой бордюра быть не должно.
Однако этого не происходит, такое впечатление, что граничы с разных сторон меняются совершено прозвольным образом.
При этом шрифт в memo2 становится красным, т.е. обработка происходит верно, но именно операции с memo2.frame.typ глючат.
Как-то можно пофиксить или я не то что-то делаю?
делаю так
procedure Memo4OnBeforePrint(Sender: TfrxComponent);
begin
if <price>='' then
begin
Memo2.font.Color := clRed;
Memo3.font.Color := clRed;
memo2.frame.typ:=memo2.frame.typ-ftleft;
end
else
begin
Memo2.font.Color := clBlack;
Memo3.font.Color := clBlack;
memo2.frame.typ:=memo2.frame.typ+ftleft;
end;
end;
В данном прммере в строках где цена='' левой бордюра быть не должно.
Однако этого не происходит, такое впечатление, что граничы с разных сторон меняются совершено прозвольным образом.
При этом шрифт в memo2 становится красным, т.е. обработка происходит верно, но именно операции с memo2.frame.typ глючат.
Как-то можно пофиксить или я не то что-то делаю?
Комментарии
memo2.frame.typ:=somevar-ftleft;
причём, если в исходном состоянии у memo2.frame.typ отображается левая граница, то код будет
if <price>='' then
begin
...
memo2.frame.typ:=somevar-ftleft;
end
else
begin
...
memo2.frame.typ:=somevar;
end;
Но всё-таки лучше делать так:
memo2.frame.typ:=ftright+ftleft+ftTop+ftBottom;
...
memo2.frame.typ:=ftright+ftTop+ftBottom;