문제

많은 컨트롤로 양식을 크기를 조정할 때, 깜박 거리는데서 형태는 나쁘게 보입니다. 매끄러운 양식 크기 조정을위한 몇 가지 팁은 무엇입니까?

도움이 되었습니까?

해결책

procedure TForm1.WMEnterSizeMove(var Message:TWMMove);
begin
  Self.DisableAlign;
end;

procedure TForm1.WMExitSizeMove(var Message:TWMMove);
begin
  Self.EnableAlign;
end;

다른 팁

WM_SetRedRaw를 사용해보십시오 (~ 아니다 Lockwindowupdate).

당신은 또한 살펴볼 수도 있습니다 연기.

복잡한 형태는 종종 중첩 패널로 구성되며 다시 칠한 과정은 깜박일 수 있습니다. 이 경우 프로젝트의 경우에는 두 가지 쉬운 솔루션이 있습니다. ~할 것 같다 돕다:

  1. 속성을 비활성화합니다 FullRepaint 패널에.
  2. 속성을 활성화하십시오 DoubleBuffered 당신의 형태에. 객체 검사관 에서이 속성을 찾지 못하므로 DoubleBuffered := true; Formcreate에서.

나는 이것을 다음과 같이 가지고있다 :

  1. 양식의 'onresize'이벤트에서는 모든 어린이 컨트롤을 숨기고 약 500ms의 진드기로 타이머를 시작하는 일상이 있습니다.
  2. 타이머가 발사되면 비활성화 한 다음 모든 어린이 컨트롤을 표시되도록 설정하십시오.

이 활동을 가지고 놀면 크기를 조정하는 동안 비워지는 형태를 얻지 만 '놓아 놓을 때'깔끔하게 채워집니다.

브리

나는 더 이상 정렬하여 깜박임을 피합니다 1 동부의 뜻alClient 부모당 구성 요소는 항상 a와 쌍을 이룹니다 alClient (예 : a TPanel) 다른 모든 구성 요소를 포함합니다. 경계가없는 패널로 그룹화하십시오.

세 가지를 결합하고 싶다고 말하십시오. alLeft, alTop 그리고 alClient 메인 뷰를 위해. 이것을하지 마십시오 : Form alTop alLeft alClient // your main view

대신에 이것들을 다음과 같이 포함시킵니다. Form alTop alClient // panel to avoid flicker alLeft alClient // your main view

몇 가지를 포함시키는 것과 같은 이야기 alTop 집단.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top