2010-01-22 4 views
3

저는 Delphi 7 및 Rave Reports를 사용하고 있습니다. 이전에 오는 다른 DataText의 크기에 따라 어떻게 Rave Reports에서 DataText.Left 속성을 설정할 수 있습니까? 이전 DataText의 너비, 첫 번째 DataText가 표시하는 필드의 길이 ... 사용하지 못했습니다. 아무도 작동하지 않았습니다. 누군가 나에게 아이디어를 줄 수 있다면 정말 고마워 할 것입니다.Rave Reports DataText Left

감사

답변

0

길이는 글꼴 설정에 따라 달라질 수있는 계정으로 문자의 폭을지지 않습니다.

// Assumes the AutoSize property is true. 
// Note: 8 is added as spacing 
DataText.Left := LastDataText.Left + LastDataText.Width + 8; 

당신의로드 데이터 집합의 데이터가의 TField 객체 클래스의 DisplayWidth 프로퍼티를 읽어보십시오.

// calculate the width of the last field. 
TextWidth := DataSet.Fields[0].DisplayWidth * QuickReport.Canvas.TextWidth('M'); 
DataText.Left := LastDataText.Left + TextWidth; 
+0

합니다. * QuickReport.Canvas *가 올바른지 확인해야합니다. – stukelly

0

또는 당신이 필요로하는 정확한 효과에 따라, 당신은 또한 하나의 datatext를 사용하고, 데이터/같은 정적 텍스트 필드를 연결할 수 있습니다 : 나는 위의 코드를 테스트하지 않았습니다

<FieldName> + ' Some text ' + <Param.ParamName> + ' Some other text'