a „oe¸ã@s¸ddlZddlZddlZddlZddlmZmZmZmZddl m Z Gdd„dej ƒZ Gdd„dej ƒZ Gdd „d ejƒZGd d „d ejƒZGd d „d ejƒZdd„Zedkr´eƒdS)éN)ÚactivexÚdocviewÚobjectÚwindow)Úgencachec@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) Ú OleClientItemcCstj |t |¡¡dS©N)rÚ CmdTargetÚ__init__Ú win32uioleZCreateOleClientItem©ÚselfÚdoc©rúCC:\Program Files\Certbot\pkgs\pythonwin\pywin\Demos\ocx\msoffice.pyr szOleClientItem.__init__cCsdS©N)é réÒrr)r rrrÚOnGetItemPositionszOleClientItem.OnGetItemPositioncCs@| ¡}| ¡ |¡}|dur2|j|jkr2| ¡|j ¡dSr)Z GetActiveViewÚ GetDocumentÚGetInPlaceActiveItemÚ_obj_ÚCloseÚ OnActivate)r ÚviewÚitemrrrrs zOleClientItem.OnActivatecCs |j ||¡| ¡ d¡dSr)rÚOnChangerÚUpdateAllViews)r ZoleNotificationZdwParamrrrr#szOleClientItem.OnChangecCs|j ||¡sdSdS©Nré)rÚOnChangeItemPosition)r Úrectrrrr 's z"OleClientItem.OnChangeItemPositionN)Ú__name__Ú __module__Ú __qualname__r rrrr rrrrrs rc@seZdZdd„ZdS)Ú OleDocumentcCs tj |t |¡¡| ¡dSr)rr r r ZCreateOleDocumentZEnableCompoundFile)r Útemplaterrrr 9szOleDocument.__init__N©r"r#r$r rrrrr%8sr%c@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) Ú ExcelViewcCsD| |jtj¡| |jtj¡| tjd¡|j  ¡}|  ¡|S)N)édr)) Z HookMessageÚ OnSetFocusÚwin32conZ WM_SETFOCUSÚOnSizeZWM_SIZEZSetScrollSizesZMM_TEXTrÚOnInitialUpdateÚ EmbedExcel)r Úrcrrrr-?s  zExcelView.OnInitialUpdatecCs:| ¡}t|ƒ|_|j d¡|j d|¡| d¡dS)Nz Excel.Sheetéÿÿÿÿ)rrÚ clientItemZ CreateNewItemZDoVerbrr rrrr.Hs   zExcelView.EmbedExcelcCs.| ¡}| ¡}| |¡\}}| |d¡dSr)rZGetStartPositionZ GetNextItemZDraw)r ZdcrÚposr1rrrÚOnDrawOszExcelView.OnDrawcCsD| ¡ |¡}|dur@| ¡tjkr@| ¡}|dur<| ¡dSdSr)rrZ GetItemStater ZCOleClientItem_activeUIStateZGetInPlaceWindowZSetFocus)r ÚmsgrZwndrrrr*Wsÿ þzExcelView.OnSetFocuscCs"| ¡ |¡}|dur| ¡dS)Nr)rrZ SetItemRects)r Úparamsrrrrr,cszExcelView.OnSizeN)r"r#r$r-r.r3r*r,rrrrr(>s   r(c@seZdZddd„ZdS)Ú OleTemplateNcCs0|dur t}|durt}tj |||||¡dSr)r%r(rÚ DocTemplater )r Z resourceIdZ MakeDocumentZ MakeFrameZMakeViewrrrr ks ÿzOleTemplate.__init__)NNNNr'rrrrr6jsÿr6c@s eZdZddd„Zddd„ZdS)Ú WordFrameNcCst ¡|_|j |¡dSr)Úwin32uiZCreateMDIChildrZ AttachObjectr rrrr xs zWordFrame.__init__cCsztjtjBtjB}|j d||||¡| ¡}dd|d|d|d|df}tƒ|_|j  dtjtjB||d¡dS)NréérzMicrosoft Wordi N) r+ZWS_CHILDZ WS_VISIBLEZWS_OVERLAPPEDWINDOWrZ CreateWindowZ GetClientRectZ MyWordControlZocxZ CreateControl)r Útitler!ÚparentZstylerrrÚCreate}s$ÿzWordFrame.Create)N)NN)r"r#r$r r>rrrrr8ws r8cCsBddl}ddl}d}t|jƒdkr2| |jd¡}tƒ d¡dSr)ÚsysÚwin32apiÚlenÚargvZGetFullPathNamer6ZOpenDocumentFile)r?r@ZdocNamerrrÚDemo‰s rCÚ__main__)Zregutilr+r9r Z pywin.mfcrrrrZwin32com.clientrr rr%Z ScrollViewr(r7r6Z MDIChildWndr8rCr"rrrrÚs %,