본문 바로가기

프로그래밍/Delphi

델파이 폼에서 Flex 어플 올려놨을때 폼에 맞게 리사이징

#1. 첫번째 방법
FSWFAllPapersViewer.Perform(CM_UIACTIVATE, 0, 0);

한번에 안먹을 경우에 대비해서
    for I := 1 to 5 do
    begin
      FSWFAllPapersViewer.Perform(CM_UIDEACTIVATE, 0, 0);
      FSWFAllPapersViewer.StopPlay;
      FSWFAllPapersViewer.Play;
      FSWFAllPapersViewer.Perform(CM_UIACTIVATE, 0, 0);
//      Sleep(100);
      Application.ProcessMessages;
    end;

#2. 두번째 방법
public function setReSize(ASizeStr : String) : String
  {
 var param : Array = ASizeStr.split(/,/);
 this.width = param[0];
 this.height = param[1];
 return "Success";
  }

선언하고

   ExternalInterface.addCallback("setReSize", setReSize);   
 등록한 다음에

델파이에서
  tmp := format('%d,%d', [pnlFlex.width, pnlFlex.Height]);
  Flash.CallFlashFunc('setReSize', tmp);
  Flash.Repaint;

호출해 주도록 함.
#3. 세번째 방법
swfViewer.DoObjectVerb(OLEIVERB_SHOW);