|
첨부된 그림에서요
프로그램의 위 부분인데.. 폼 타이틀이 적혀있는 맨위 부분이요...
우선 쓰레드를 만들고 쓰레드 안에서 변수를 카운터합니다.
아래와 같이 작성했습니다.
void __fastcall Test::UpdateCaption()
{
Form1->Panel2->Caption = count;
}
//---------------------------------------------------------------------------
void __fastcall ::::Execute()
{
SetName();
//---- Place thread code here ----
while(1)
{
WaitForSingleObject((void *)Handle, 1);
//Application->ProcessMessages();
Synchronize(&UpdateCaption);
count++;
if (Terminated )
break;
}
}
이렇게 프로그램을 작성하고 실행을 한뒤에 쓰레드를 실행시키면
Panel2에 count값이 표시가 됩니다.
그런데 위에서 말했던 곳을 마우스로 클릭하면 잠시 멈추었다가 다시 값이 표시가됩니다.
특히 오른쪽마우스를 클릭한 상태로 있으면 카운터 값이 표시가 되지 않습니다.
혹시나 내부적으로는 쓰레드가 동작 되는 줄 알았는데 마우스를 클릭한 순간 부터 멈춰있다가 다시 시작을
하더라구요....
원래 쓰레드도 마우스 클릭에는 동작을 멈추는 건가요??
도움을 부탁드립니다.
|