|
VCL 컨트롤은 VCL의 메시지 루프로 가야 대부분 화면 갱신이 됩니다.
하지만 그렇지 않고
for 루프에서 컨트롤의 내용을 변화시키고 보이게 하려면
각 컨트롤에 보면 Update(); 메소드가 있는데 이를 호출해 주면 됩니다.
Panel 같은 컨테이너 컨트롤의 경우는 담고 있는 컨트롤에 자동 업데이트 통보를 하므로
Panel만 업데이트 해주면 됩니다.
Panel1->Update();
이런 식으로 처리하면 됩니다.
지금 시작 님이 쓰신 글 :
: 안녕하세요.
:
: 버튼을 누르면 for루프에서 10초정도 다른 작업(IO카드에서 데이터를 읽습니다)을하고 종료되는 프로그램을 하고 있습니다. 헌데 버튼을 누르면 화면에 표시가 안되기때문에 작업중인지 작업이 끝났는지 쉽게 확인할 수가 없었습니다. 그래서 패널을 하나 생성고 버튼을 누르면 "작업중입니다" 라고 패널의 visible속성을 true로 하여 화면에 보여주고 루프를 돌고 끝나면 다시 패널의 visible속석을 false로 하여 패널을 감추려고 하고 있습니다.
:
: 근대 여기서 패널이 뜨긴하는대 반쯤 생성되다 말았다고 해야하나... 캡션도 안보이고 패널 라인도 안보이고 그냥 패널색상만 표현되고 멈춰있습니다. 그런후 르프가 끝나면 그냥 사라져 버리는군요...
: 근대 또 이상한것은 패널을 보여준후에 showmessage를 사용하여 메시지를 하나띄우면 패널을 제대로 보여집니다.
:
: 어떤 문제때문일까요?
:
: 혹시 루프때문에 그런거면 어떤 방법으로 사용자가 현재 작업이 진행되고 있음을 알도록 화면에 보여줄 수 있을지...
:
: 아시는분 답변좀 부탁드립니다~~
|