2013-08-20 1 views
2

SpTBX 패널에는 X 상태 버튼이 2 개 있습니다 (평소와 마우스 오버). TPageControl (owner-drawn)에서 동일한 비트 맵을 내 캔버스에 그립니다.SpTBX : 캔버스에 그림 그리기 X 아이콘은 SpTbx 패널과 같습니다.

왼쪽 노란색 X 아이콘은 SpTBX (Office Silver 테마 사용시)입니다. 오른쪽 X 아이콘은 내 현재 아이콘입니다. 나는 왼쪽에있는 것과 같은 것을 그리기를 원한다. 이 비트 맵을 얻는 방법?

x icon

답변

1

'는 x'- 닫기 버튼을 누르면 SpDrawGlyphPattern를 호출하여 소환 할 수있는 네 가지 기본 패턴 중 하나입니다. '0'부터 시작하여 프로 시저의 소스 코드에서 볼 수 있듯이 네 패턴은 '닫기', '최대화', '최소화'및 '복원'입니다.

글리프는 도킹 가능한 패널에 연결된 내부 도구 모음에서 사용되기 때문에 배경은 툴바 단추 배경으로 추측 할 수 있습니다. SpDrawXPToolbarButton으로 그릴 수 있습니다.

양식의 캔버스에서 현재 선택된 스킨이 'Office 2007 Silver' 인 경우 아래 코드는 그림에 표시된대로 글리프를 생성합니다 (). 상태가 뜨겁지 않으면 버튼 배경이 입니다.

일반적으로 'item'이 sptbxlib에서 그려지는 방법을 찾으려면 'sptbxitem.pas'에 TSpTBXItemViewer.Paint의 시작 부분에 중단 점을 넣고 코드 경로를 따르십시오.

procedure TForm1.Button1Click(Sender: TObject); 
var 
    R: TRect; 
begin 
    R := Rect(20, 20, 35, 35); 
    SpDrawXPToolbarButton(Canvas, R, sknsHotTrack, sknSkin, cpNone); 
    SpDrawGlyphPattern(Canvas, R, 0, 
     CurrentSkin.GetTextColor(skncToolbarItem, sknsNormal)); 
end;