Delphi XE2의FireMonkey 입문(20) - TstyleBook(스킨, 스타일 관련)

2936 단어 Delphi
나는'피부'라고 부르는 것보다'스타일'이나'스타일'이라고 부르는 것이 낫다고 생각한다. 왜냐하면 동작과 관련된 애니메이션을 포함할 수 있기 때문이다.
FMX에서 컨트롤은 임의로 그릴 수 있고 각 위젯의 개성화된 속성은 하나의 *로 통일적으로 저장할 수 있다.스타일 파일.
XE2는 "...\Program Files\Embarcadero\RAD Studio\9.0\Redist\styles\Fmx\"에서 다음과 같은 스타일 파일을 제공합니다.

Air.Style
Amakrits.Style
AquaGraphite.style
Blend.Style
dark.style
FMX.Platform.iOS.style
FMX.Platform.Mac.style
FMX.Platform.Win.style
GoldenGraphite.Style
iOS.Style
MacBlue.Style
MacGraphite.Style
RubyGraphite.style
Windows7.Style
파일은 TstyleBook에서 읽고 관리할 수 있는 텍스트 형식으로 창 파일과 유사합니다.
그러나 프로그램에 스타일을 적용하려면 확실히 매우 간단하다.

procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.StyleFileName := '     '; //        exe    ,        
end;
창에 TstyleBook(StyleBook1)을 추가하면 스타일을 로드, 편집, 저장할 수 있습니다.
StyleBook1을 편집한 후 창의 StyleBook 속성에 직접 부여할 수 있습니다.

procedure TForm1.Button1Click(Sender: TObject);
begin
  Self.StyleBook := StyleBook1; //        
end;
창의 StyleBook 등록 정보도 TstyleBook 객체이므로 직접 사용할 수 있습니다.

procedure TForm1.Button1Click(Sender: TObject);
begin
  StyleBook := TStyleBook.Create(Self); //     ,     StyleBook      
  StyleBook.FileName := '    ';     //      
  //StyleBook.Resource.LoadFromFile('    '); //TStyleBook    Resource(TStrings)      
end;
컨트롤 스타일을 개별적으로 수정하면 다음과 같은 StyleLookup 속성을 사용할 수 있습니다.

procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.StyleLookup := 'checkbox';
end;
//             
*.style 파일의 StyleName 이름에는 규칙이 있습니다(이것은 내가 예상한 것).

1、  (     T) + 'style' //           
2、  (     T)           //            
3、        ,               ,             StyleLookup       
4、                 StyleLookup   ,     StyleName(     StyleName         ).
컨트롤 하위 위젯의 StyleName이 읽을 수 있는 것을 발견했습니다.

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(Memo1.HScrollBar.StyleName);
  ShowMessage(Memo1.VScrollBar.StyleName);
end;
ApplyStyleLookup(), UpdateStyle(), FindStyleResource()와 같은 다른 방법은 일반적으로 자동으로 호출됩니다.
프로그램은 리소스에 기본 스타일을 포함합니다(이름:defaultstyle, 형식:RT RCDATA). 프로그램의 기본 스타일을 복원할 때는 다음을 수행합니다.

procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.StyleFileName := ''; //           
  Form1.StyleBook := nil;          //           ,     
end;
전에 어떤 학우가 창 제목 표시줄의 스타일을 어떻게 수정하느냐고 물었다.
학습 과정에서 나는 매우 직접적인 방법을 발견하지 못했다.
당분간 제목 표시줄을 숨기고 다시 그릴 수밖에 없어요.
창체의 더 많은 메커니즘을 알게 되면 아마도 *.스타일 파일에서 방법을 찾습니다.
매우 천박해서, 누가 더 많은 것을 알고 있는지, 나에게 알려주기를 바란다.

좋은 웹페이지 즐겨찾기