2012-07-26 4 views
1

썬더 버드에서 수행되는대로 데이터 그리드의 머리글에 아이콘을 추가하고 싶습니다. 가로 스크롤 막대의 위치에 관계없이 세로 스크롤 막대 위에있는 아이콘이 있습니다. 이 아이콘을 사용하여 열을 설정할 수 있습니다.열 설정을위한 머리글 행의 아이콘

델파이에는 커스터마이즈가 가능하고 여기에 셀/헤더 셀에 아이콘을 추가 할 수있는 다양한 그리드 구성 요소가 있습니다. 그러나 고정 된 세로 스크롤 막대 위에 영역이있는 구성 요소를 찾지 못했습니다. 클릭하면 일부 동작이 허용됩니다. 해당 구성 요소를 사용자 지정하기가 더 쉬운 경우에도 VirtualTreeView 구성 요소를 사용하여 표를 에뮬레이트 할 수 있습니다.

해당 기능을 사용하려면 수행해야 할 작업에 대한 지침이 필요합니다. 목록 상자 모드에서

감사합니다, 토마스

+0

VirtualTreeView를 사용하더라도 [이 그림] (http://i.imgur.com/aJ4Na.png)에 강조 표시된 버튼에 대해 이야기하는 것처럼 쉬운 일은 아닙니다. VirtualTreeView가 열 자동 크기 조절을 활성화 한 경우 스크롤바가 나타나면 가장 오른쪽 열이 오른쪽에서 이동합니다 ('this way') (http://i.imgur.com/lyxBT.png). 자동 크기 조정 열이 필요합니까 (즉, 가상 트리의 크기를 조정할 때 해당 열이 현재 제어 너비에 맞게 크기 조정을 따른다는 의미입니다)? – TLama

+0

VirtualTreeView에 대해 계속 진행하십시오. 자동 크기 조정 열이 해제되고 크기를 조정하면 트리보기 너비에 맞게 첫 번째 열을 수동으로 조정 해 봅니다 (마지막 열을 오른쪽 가장자리로 이동하기 위해). 수평 스크롤바가 나타나면 ['like this] '(http://i.imgur.com/kObey.png)가 보일 것입니다. 이 동작을 수정하면 IMHO는 트리보기 코드를 상당히 근본적으로 수정하는 것을 의미합니다. – TLama

+1

글쎄, personalyl 나는 그런 GUI를 삼가고 싶다 - 그 버튼을 클릭하면 쉽게 그것을 놓칠 수 있고 대신 스크롤 업을 클릭 할 것이다. 그 반대. 그러면 사용자가 느리고 신중해야합니다. –

답변

1

VirtualTreeView 때문에 그것의 속도, 큰 문서의 개발, 좋은 및 MVC 같은 패턴의 사용을 용이하게한다. Delphi는 시각적 구성 요소 자체에 데이터를 저장하려고합니다.이 편지는 문제를 일으 킵니다. VTW는 모두 동일하지만, GUI에서 데이터를 acutally 분리 할 수 ​​있습니다.

그러나 나는 당신의 주장 인 "을 클릭하면 어떤 행동이 가능합니다."라고 놀랍니다. ". 심지어 가장 기본적인 구성 요소는 그것을 허용 :

http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Grids.TCustomGrid.OnFixedCellClick

그래서 더 detaiils을 만들 수, 당신은 표준 구성 요소를 사용할 수없는 이유는 무엇입니까? 스크린 샷과 편집자가 있으면 어떻게 렌더링하고 싶은지, 클릭하고 싶은 곳, 어떤 종류의 작업을해야합니까?

+0

[OnFixedCellClick] (http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Grids.TCustomGrid.OnFixedCellClick) 참조에 대한 링크 때문에이 컨트롤과 같은 문자열 격자를 사용합니다. ? – TLama

+0

이것에 대해서는 정확히 - 몰라.어쩌면 나는 Custom Containers Pack을 되 살리고 처음부터 다시 만들려고했다. 독립 실행 형 스크롤 막대. 독립 실행 형 툴바/헤더 바/뭐든간에 호출 할 수 있습니다. Grid는 강제로 네이티브 스크롤 막대를 제거했습니다. 그리고 그 모든 것을 함께 가져 오는 접착제. 그래서 당신이 스크린 샷에 보여준 버튼으로, 개인적으로 나는 그런 종류의 레이아웃을 피할 수 있기 때문에 아무 것도 제안 할 수 없습니다. 클릭 수에 반응하는 헤더는 어떨까요? 나는 단지 당신의 생각을 바로 잡고 싶었습니다. 정반대로, 헤더 클릭 반응을 허용하지 않는 컨트롤을 찾기가 어렵습니다. –

+0

당신과 동의하십시오; 세로 스크롤 막대가 보이더라도 오른쪽 상단에 웅크 리고있는 버튼이있는 레이아웃은 잘 정렬되어 있지 않으므로 간단히 간과 할 것입니다. (예전에 썬더 버드를 사용해 본 것처럼). 그러나 이것이 VirtualTreeView를 수정해야 할 필요가 있다고하더라도 여전히 제안 할 것입니다. – TLama