2013-04-20 3 views
1

InfoBefore 텍스트 파일의 텍스트를 변수에 저장 한 다음 사용자 지정 글꼴 색과 배경색을 사용하여 RTFEditor에로드하려고합니다.InnoSetup, RTFText에 사용자 지정 텍스트를로드하는 방법

내가 말하는 변수에서 텍스트를로드 할 때 "쓰기 전용 속성"

내가 (텍스트를로드 var에 텍스트를 저장 함께이 두 가지 작업을 수행하는 방법에 대한 명시적인 예를 필요 RTF에서 사용자 정의 색상과 배경색으로) 나는 Pascal을 모르기 때문에 너무 복잡하게 만들지 않습니다.

코드입니다 :

대신 다음, 단순히 포맷이 필요한 변경하기, 워드 패드에 .txt 인 파일을로드, 사후 수정 .RTF 형식으로 저장하려고 노력
const 
FontColor: AnsiString = 'cf0'; 
BackColor: AnsiString = 'cf1' 

var 
    OldText: AnsiString; 

procedure InitializeWizard(); 
begin 

// I try to store the text in a variable 
Oldtext := WizardForm.InfoBeforeMemo.RTFText; 

// I try to load from the variable, with a new font color for ALL the text, and a new BackColor. 
WizardForm.InfoBeforeMemo.RTFText := Oldtext + FontColor 

end; 
+1

'TRichEditViewer' 클래스에는'RTFText' 속성에 대한 읽기 권한이 없으므로 Windows API가 없으므로 거기에서 RTF 텍스트를 읽을 수 없습니다. 따라서 실제로 상황을 복잡하게 만들지 않습니다 *. – TLama

+1

좀 더 구체적으로,'TRichEditViewer' 컨트롤의 RTF 읽기 구현은 ['EM_STREAMOUT']에 관한 것입니다 (http://msdn.microsoft.com/en-us/library/windows/desktop/bb774304 (v = vs.85)) .aspx) 메시지와 해당 ['EditStreamCallback'] (http://msdn.microsoft.com/en-us/library/windows/desktop/bb774368(v=vs.85) .aspx) 콜백 함수로, 일부 ['외부 라이브러리] (http://www.sherlocksoftware.org/page.php?id=54)에 의해 포장해야합니다. – TLama

+0

omg ... 정보가 녀석들에게는 열심히 exeeive, thankyou 것처럼 보입니다. InfoBeforeFile을 var에 저장하는 다른 방법은 없습니까? – ElektroStudios

답변

3

. 그런 다음 코드를 사용하지 않고이 파일을 직접 InfoBeforeFile으로 사용할 수 있습니다.

편집 : 전체 메모의 배경색을 변경하려면 한 줄의 코드가 필요합니다. 예 :

[Code] 
procedure InitializeWizard(); 
begin 
    WizardForm.InfoBeforeMemo.Color := clBlack; 
end; 
+0

와우는 더 좋은 옵션 인 것 같습니다. 덕분에 그 방법으로 배경색을 바꿀 수 있는지 알고 있습니까? 빈 배경색과 검정색 텍스트가있는 텍스트의 예를 줄 수 없습니까? – ElektroStudios

+1

예/아니요. 내가 아는 한, RTF는 페이지의 배경색을 전체적으로 정의하는 방법을 지정하지 않고 개별 단락 만 정의합니다. (워드 패드는 단락의 배경색을 설정하는 방법을 제공하지 않지만 유사한 효과가있는 강조 색상을 설정할 수 있습니다. 그러나 전체 메모를 변경하는 경우에는 필요하지 않습니다.) 전체 메모 전체의 배경색을 변경하려면 위의 내 대답을 편집 한 한 줄의 코드가 필요합니다. – Miral