Q&A

  • Form 플래쉬 방법에 관하여
Flashwindow라는 함수를 쓰면 Form에 Flash 효과를 낼수 있는 것으로 알고 있습니다.
그러면 혹시 Messagedlg나 Showmessage로 생성된 Form도 Flash 효과를 줄수 있나요.. 제가 해 보니까... 잘 안되더라고요..
방법이 있다면 좀 알려 주십시요.

시도해 본 방법 :

procedure TForm1.DLG_Flash;
var Show : TForm;
begin
  Show := CreateMessageDialog('TEST',mtInformation,mbOKCancel);
  Show.Flashwindow(Self.handle, TRUE);
  Show.Showmodal;
end;

이렇게 했었는데 이렇게 하면 Flashwindow함수가 정의가 안 되어있다고 나오데요....
한수 부탁합니다.
2  COMMENTS
  • Profile
    한원희 2002.09.12 18:40
    안녕하세요. 한원희입니다.

    아래에서 Show. 을 빼고 FlashWindow 를 호출하면 잘 동작합니다.

      Flashwindow(Show.handle, TRUE);

    이렇게 바꾸신 후에 해보세요.
    그럼, Show라는 폼이 한번 깜빡입니다.  ^^


  • Profile
    sunny 2002.09.12 07:48
    안녕하세요

    일단 Timer의 프러퍼티에서
    Enabled 을 False 로 맞추고
    Interval 을 7000 으로 맞춘 다음 다음과 같이 코팅하시면
    Form2 에 Flash 효과를 낼 수가 있겠네요.

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    FlashWindow(Form2.Handle,TRUE);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Form2.Show;
    Form1.BringToFront;
    Timer1.Interval:=GetCaretBlinkTime;
    Timer1.Enabled:=Not Timer1.Enabled;
    end;

    그럼 즐코하세요.