|
for문안에 Application->ProcessMessages();를 한줄 넣어주는것은 어떨까요?
미리 말씀드리지만 근본적인 해결방법은 아닙니다.
오히려 전체버튼들의 size변경시간은 더 오래걸립니다.
그러나 size변경하는동안 화면도 갱신되고
키보드 , 마우스 다 먹습니다. 그래서 버벅거리는것 처럼 보이지 않을수 있습니다.
주의할것은 잘못하면 resize함수가 끝나기전에 또 다시 호출될수도 있으니
함수안에 플래그를 하나 두시면 좋을것 같구요
int flag;
void __fastcall Form1::ButtonResize()
{
if(flag)return;
flag=1;
try
{
for(int i=0; i<31;i++)
{
//.... 버튼size변경코드
Application->ProcessMessages(); //이코드에서 다른 메세지를 처리합니다.
}
}
__finally
{
flag=0;
}
}
위 코드는
김성준 님이 쓰신 글 :
: 여전하네요..
:
: 스트링 그리드로 해볼까 고민중입니다..ㅜ.ㅜ
|