CaptureWindow メソッド

LANSA

CaptureWindow メソッド

アクティブ・ウィンドウのイメージをキャプチャします。

CaptureWindowメソッドを使用して、アクティブなウィンドウまたはコントロールのビットマップを取得し、ファイルに保存します。

以下の例をコピー・貼り付けして、CaptureWindowメソッドがどのように動作するかを確認することができます。

Function Options(*DIRECT) 

Begin_Com Role(*EXTENDS #PRIM_FORM) Caption('Capture Screen') Clientheight(532) Clientwidth(567) Componentversion(1) Formposition(ScreenCenter) Framestyle(Dialog) Height(586) Layoutmanager(#ATLM_1) Left(204) Menubar(#MBAR_1) Top(149) Width(575)
* Menu definition
Define_Com Class(#PRIM_MBAR) Name(#MBAR_1) Parent(#COM_OWNER)
Define_Com Class(#PRIM_MITM) Name(#MITM_1) Caption('File') Displayposition(1) Parent(#MBAR_1)
Define_Com Class(#PRIM_SMNU) Name(#SMNU_1) Parent(#MITM_1)
Define_Com Class(#PRIM_MITM) Name(#MITM_SCREEN) Caption('Capture Desktop') Displayposition(1) Parent(#SMNU_1)
Define_Com Class(#PRIM_MITM) Name(#MITM_ACTIVE) Caption('Wait 5 seconds and capture Active window') Displayposition(2) Parent(#SMNU_1)
Define_Com Class(#PRIM_MITM) Name(#MITM_TAB) Caption('Capture Tab contents') Displayposition(3) Parent(#SMNU_1)
* File name edit
Define_Com Class(#STD_TEXT.Visual) Name(#STD_TEXT) Caption('File name') Displayposition(1) Height(19) Labeltype(Caption) Left(8) Marginleft(75) Parent(#COM_OWNER) Tabposition(1) Top(12) Usepicklist(False) Width(313)
* Timer for active window capture delay
Define_Com Class(#prim_timr) Name(#timer) Interval(5000)
* Tab, Sheets and Contents for SYS_APPL.CaptureScreen Control testing
Define_Com Class(#PRIM_TAB) Name(#TAB_1) Displayposition(2) Height(463) Left(0) Parent(#COM_OWNER) Tabposition(2) Top(69) Width(567)
Define_Com Class(#PRIM_IMGE) Name(#IMAGE) Displayposition(1) Height(437) Left(0) Parent(#TBSH_RESULT) Tabposition(1) Top(0) Width(559)
Define_Com Class(#PRIM_TBSH) Name(#TBSH_RESULT) Caption('Results') Displayposition(1) Height(437) Layoutmanager(#ATLM_1) Left(4) Parent(#TAB_1) Tabposition(1) Tabstop(False) Top(22) Width(559)
* Form Layout
Define_Com Class(#PRIM_ATLM) Name(#ATLM_1)
Define_Com Class(#PRIM_ATLI) Name(#ATLI_1) Attachment(Center) Manage(#IMAGE) Parent(#ATLM_1)
Define_Com Class(#PRIM_ATLI) Name(#ATLI_2) Attachment(Bottom) Manage(#TAB_1) Parent(#ATLM_1)
Evtroutine Handling(#MITM_SCREEN.Click)
* Capture the screen
#sys_appln.capturedesktop( #std_text )
* Update image
#IMAGE.filename := ""
#IMAGE.filename := #std_text
Endroutine
Evtroutine Handling(#MITM_ACTIVE.Click)
* Start timer (will tick 5 seconds later and capture the active window )
#timer.start
Endroutine
Evtroutine Handling(#MITM_TAB.Click)
* Capture the sheet contents
#sys_appln.capturewindow( #std_text #TAB_1 )
* Update image
#IMAGE.filename := ""
#IMAGE.filename := #std_text
Endroutine
Evtroutine Handling(#COM_OWNER.CreateInstance) Options(*NOCLEARMESSAGES *NOCLEARERRORS)
* Initialize form
#IMAGE.filename := ""
#std_text := "c:\Bitmap.bmp"
#timer.stop
Endroutine
Evtroutine Handling(#timer.Tick) Options(*NOCLEARMESSAGES *NOCLEARERRORS)
* Stop the timer
#timer.stop
* Capture the foreground window
#sys_appln.capturewindow( #std_text )
* Update image
#IMAGE.filename := ""
#IMAGE.filename := #std_text
Endroutine
End_Com