설명
tsizectrl은 비 시각적 V+LCL 구성 요소로, tcontrol depadents 크기를 조정, 선택 및 이동할 수 있습니다.
오리지널 실현과 달리 현재 버전은 델파이와 나사로를 모두 지원하므로 앵거스 존슨 (Angus Johnson)의 원본 버전에서 영감을 얻었지만 이제 레거시/기존 버전과 다릅니다 :)
특징:
- 완전히 사용자 정의 가능한 버튼 : 카운트 (4 ~ 8), 색상, 크기, 투명도, 모양, 원하는 경우 버튼 이미지를 설정할 수 있습니다.
- 5 개의 형상 유형 : 정사각형, 원, 마름모, 삼각형 및 둥근 고정
- 사용자 정의 가능한 선택 프레임 : MovePanelCanvas 속성 모든 선택 프레임 캔버스에 한 번에 캔버스에 액세스 할 수있는 속성 (브러시 스타일 : = BSCLEAR) 지원
- 선택 프레임을 표시/숨기는 쇼 프레임 속성
- MovePanelalPhablend 속성 크기/선택 프레임의 알파 채널을 지정합니다
- 선택 프레임 이미지를 설정하려면 MovePanelimage 속성
- tcustomforms 지원 : 양식이 Tsizectrl로 크기를 조정하면 닫히거나 최대화/최소화 할 수 없습니다.
- 속성이있는 그리드 지원 : 그리드 크기, 쇼 그 리드, 그리드 콜러, 그리드 콜로 컨트라스트
- 옵션 크기 조정 :
- aligntogrid 속성 - 정렬 제어를 그리드에 정렬합니다
- 적용 크기 속성 - 즉시 객체의 크기를 변경하도록 활성화하십시오
- MultiatgetResize 속성 - 한 번에 몇 가지 대상을 거부/허용합니다.
- RESIZEable 객체의 최소 크기 및 최대 크기를 지정하는 제약 속성
- 객체의 크기 조정을 거부/허용하는 속성을 움직입니다
- 객체를 선택하는 것을 거부하기 위해 객체 태그 지원
- 사용자 정의 가능한 버튼 : 색상 ({content-fill, border}) 및 활성화, 호버링 및 비활성화 상태에 대한 이미지
- 적용 크기 속성 - 즉시 객체에 크기를 적용하려면
- editDisabled 속성 허용 (enabled : = false)-> 비활성화 된 구성 요소 편집
- 다른 크기 조정 버튼 스타일 : 없음 (버튼이 숨겨져 있음), 버튼 (모든 버튼이 표시됨), 줄, 단일 버튼
- 다른 크기 조정 단추 숨기기 옵션 : 없음 (버튼이 보이지만 정적), 숨기기 (버튼이 숨겨져 있음), 움직임 (버튼이 움직일 경우는 이동하지만 크기의 경우 숨겨져 있음)
- 추가 옵션 :
- 원래 크기로 저장할 이미지를 지정하기 위해 모든 이미지 (tpicture) 속성과 함께 제공되는 스트레치 속성
- 사용자 정의 가능한 수정 키 (선택, 이동/사이징, 정렬 키 조절 키)
- tsizebtns를위한 이벤트 오선 (크기 그립/핸들)
제한
거지:- 현재 Ssupporting MovePanelimage 속성이 아닙니다
- 일부 플랫폼에서는 알파 거래 성을 지원할 수 없습니다
오류 및 버그 :
- 수정 된 일반적인 버그 :
- 비 테이프 컨트롤의 사이징 그리드 (Showgrid)가있는 버그
- Form Focus의 선택 버그 (양식을 변경하려고 할 때, Tsizectrl은 여전히 이벤트를 처리합니다)
- 양식이있는 선택 버그 (형식 크기의 경우 액션 버튼이있는 캡션 바에 여전히 사용할 수 있습니다.
- 더블 버퍼링이 활성화 된 버그 이동
- BTN 크기의 버그, 객체 왼쪽+상단 = BTN 직경 (크기).
- defwindowproc에서 재귀가있는 버그 - FormwindowProc
- 할당되지 않은 제어 기능을 갖춘 버그, 크기 징수 구성 요소 선택으로 인해
- 커서가있는 버그 : 때로는 이동이 시작될 때 (예 : Tshape와 함께) 때로는 변경되지 않습니다.
- 키로 객체 이동, 마우스로 편집하면서 크기가 큰 버그를 유발합니다.
- 보이지 않는 물체가있는 버그 : 가시가 거부되지만 상부 객체 선택
- 알려진 현대 버그 :
- 1. 장애인 객체 추가 선택 지원 [나사로]
가능한 해결책 : 모든 wndproces를 고리?
거의 계획 :
- 새로운 기능 :
- 1. 선과 정렬 (함수, EF)
- 2. 형태에 맞게 모양을 그려 제어 다각형을 감지합니다.
- 3. 사용자 정의 태그 지원
- 4. D/L CL DrawFocusrect 방법 및 Focus rect 유형을 통한 실제 투명성 빠른 지원. 초점을 그리는 방법을 지정할 수 있습니다.
- 5. 크기를 조정할 때만 초점을 숨기는 속성
- 리팩토링 :
- 1. 크기가 너무 작을 때의 뒤집기 컨트롤 (위치 변경 + 크기 조정)
- 2. 프레임 최상위 설정 재생 (프레임 탑 속성 추가, 예를 들어 TMovePanel Parent를 Tsizebtn Parent와 동일하게 만듭니다) [Delphi, Lazarus]
- 3. 제어가 정렬 된 상태에서 삽입 될 때 또는 제어가 정렬 된 및 정렬되지 않은 서브 CTRL (childs)을 모두 포함 할 때 제어를 삽입합니다.