青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

沒畫完的畫

喂馬 劈柴 BBQ~
posts - 37, comments - 55, trackbacks - 0, articles - 0
  C++博客 ::  :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

[Z]About OLE2 第2集

Posted on 2008-09-18 12:20 沒畫完的畫 閱讀(982) 評論(0)  編輯 收藏 引用 所屬分類: Windows COM

OLE 2 高級編程技術(shù)   主要還是講了OLE內(nèi)部的實現(xiàn)機制,
看了半天,還沒看到相關(guān)創(chuàng)建容器的相關(guān)內(nèi)容,看的過程中幾度我曾想昏睡過去……
 
 
數(shù)據(jù)對象 IDataObject
傳遞協(xié)議是一種將 IDataObject 指針從數(shù)據(jù)的源傳送到數(shù)據(jù)的用戶那兒的一種機制
任何可被認(rèn)作是數(shù)據(jù)源的部份都可以通過一個它可以其上實現(xiàn) IDataObject 接口的數(shù)據(jù)對象來描述它的數(shù)據(jù)
 
視圖對象和 IViewObject 接口
視圖對象類似于數(shù)據(jù)對象,因為它總是另外處理一些其它更復(fù)雜的對象的方法
視圖對象就是用戶可以通過一個 IViewObject 接口指針來使用任何對象,這種安排可使讀者能要求對象繪制出其自身或有關(guān)其圖象表示形式的管理細節(jié)。
接口的存在可使一個對象用戶要求對象直接呈現(xiàn)到設(shè)備上而不是呈送到傳送媒介上
 
詢問對象,“你能否在我提供的HDC畫出你自己?”就相當(dāng)于以 IID_IViewObject 調(diào)用 QueryInterface().
如果對象不能做到或?qū)ο笤贓XE中,則回答,“不能”
 
·如果需要改變映象模式或任何其它有關(guān) hdc 的畫面,要確保在進入 IViewObject::Draw 時使用 SaveDC 而在 退出時使用 RestoreDC()
 
IViewObject::Draw() 的三個參數(shù)分別為一個畫面(dwAspect),一個片段索引(lindex),以及一個指向目標(biāo)設(shè)備結(jié)構(gòu)的指針(ptd)
 
·不能將 IViewObject 指針從一個進程傳送到另一進程, 因為 HDC 只有在同一進程的 context 中才有意義
 
pIViewObject->Draw(DVASPECT_CONTENT, -1, NULL, NULL, 0, hDC, &rc, NULL, NULL, 0);
這行代碼的意義是“在該DC上的一個矩形上繪制對象(DVASPECT_CONTENT, -1)”
 
dwAspect(DWORD):
DVASPECT_CONTENT
DVASPECT_THUMBNAIL
DVASPECT_ICON
DVASPECT_DOCPRINT
 
lindex(LONG) : 數(shù)據(jù)片斷的索引,在OLE2 中, 它總是為 -1
 
OLE2 提供API  OleDraw() 它實際上調(diào)用了 IViewObject::Draw()...
 
通過 AdviseSink 數(shù)據(jù)對象的用戶可在數(shù)據(jù)對象中的特定數(shù)據(jù)格式發(fā)生變化時接收到 通知
咨詢連接的建立可以有很多選擇,如對象是否必須以通知發(fā)送數(shù)據(jù)。。
 
OLE2UI 庫.....(現(xiàn)在才知道原來有這個東西)
 
pick - drag - drop 與 Cut/copy - Paste 的區(qū)別是,拖放操作直接而且立即完成
 
通過將一個窗口句柄及一個指向 IDropTarget 接口的指針傳遞給 RegisterDragDrop  一個用戶將自己注冊為一個 放目標(biāo)
一個源通過將其 IDataObject  及 IDropSource 傳遞給 DoDragDrop 來啟動拖放操作
執(zhí)行 DoDragDrop 來完成整個拖放操作
 
一個循序漸近的拖放實現(xiàn): Cosmo
 
IDropTarget::DragOver()
IDropTarget::DragLeave()
 
IDropSource
 
OLE2的拖放機制是剪貼板操作的一個流線(streamlining)
 
被動態(tài),還未裝到內(nèi)存
裝載態(tài),在磁盤中裝入內(nèi)存
運行態(tài),已經(jīng)裝到內(nèi)存中運行
 
DoVerb 在被以 OLEIVERB_SHOW 調(diào)用時,將對象從隱含的運行態(tài)移至可以的運行態(tài),而在被以 OLEIVERB_HIDE 調(diào)用時,將對象從可見運行態(tài)移至隱含運行態(tài),IOleObject::Close 則將任何對象從運行態(tài)移至裝載態(tài)
 
OleCreate 創(chuàng)建一個新的對象,對象即刻處于裝載態(tài), 在調(diào)用 OleCreate 后一般會很快調(diào)用 DoVerb 使對象處于運行態(tài)
 
容器總是有 IOleObject, IDataObject, IPersistStorage, IViewObject, 和 IOleCache 接口
IOleClientSite(現(xiàn)場),對象在容器中的位置的相關(guān)描述
 
IAdviseSink::OnViewChange() 用來接收 ViewChange 的相關(guān)相變的通知
重畫時,將會生成一個對 IViewObject::Draw 的調(diào)用(通過 OleDraw)
 
實現(xiàn)給OLE對象加上陰影,OleUIDrawShading()
 
OleUIInsertObject() 顯示 InsertObject 對話框

后記:
什么是OLE, 如何實現(xiàn)自己的OLE容器, 別問我, 我還沒搞懂!!!


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩a区| 看片网站欧美日韩| 国产精品日本一区二区| 欧美日本不卡高清| 欧美日韩在线播| 国产精品高潮粉嫩av| 国产精品vvv| 国产日韩一区| ●精品国产综合乱码久久久久| 国内精品久久久| 18成人免费观看视频| 亚洲韩国精品一区| 夜夜精品视频| 欧美在线观看日本一区| 久热成人在线视频| 日韩视频在线观看国产| 亚洲欧美激情在线视频| 久久精品中文字幕一区| 欧美激情一区| 国产女人精品视频| 亚洲精品中文字| 欧美一区二区三区免费大片| 欧美1区视频| 亚洲视屏一区| 欧美成人一区二区| 国产精品午夜电影| 亚洲经典自拍| 久久九九99视频| 亚洲精品国产精品国自产观看浪潮 | 欧美国产先锋| 亚洲校园激情| 欧美激情在线狂野欧美精品| 国产精品毛片va一区二区三区| 黄色成人在线免费| 亚洲免费人成在线视频观看| 久久这里只有| 亚洲一区二区三区精品视频| 欧美/亚洲一区| 欧美成人免费网站| 亚洲在线免费观看| 欧美国产综合一区二区| 亚洲影音一区| 欧美在线免费观看视频| 99pao成人国产永久免费视频| 国产精品免费看| 国产欧美va欧美不卡在线| 91久久极品少妇xxxxⅹ软件| 一本色道久久综合亚洲精品小说 | 亚洲免费人成在线视频观看| 久久久久国内| 中文日韩在线| 欧美欧美午夜aⅴ在线观看| 在线观看国产成人av片| 久久精品九九| 亚洲一区一卡| 国产精品免费网站| 亚洲在线播放电影| 亚洲精品国产精品乱码不99按摩 | 欧美一级网站| 亚洲欧美激情精品一区二区| 欧美日韩一区二区三区在线 | 久久综合国产精品| 久久精品五月婷婷| 在线看一区二区| 欧美国产先锋| 欧美成年人网| 亚洲视频欧洲视频| 这里只有精品视频在线| 国产精品伦一区| 久久精品国产亚洲一区二区三区| 亚洲综合色网站| 国产亚洲日本欧美韩国| 老司机67194精品线观看| 久久九九国产精品怡红院| 亚洲国产欧美一区二区三区同亚洲 | 亚洲美女尤物影院| 99国产精品视频免费观看一公开| 欧美日韩成人综合| 亚洲欧美怡红院| 久久精品论坛| 日韩性生活视频| 亚洲欧美大片| 亚洲国产精品视频一区| 亚洲精品专区| 国产一区自拍视频| 亚洲国产精品电影| 亚洲国产美女精品久久久久∴| 狼狼综合久久久久综合网 | 欧美风情在线观看| 欧美日韩高清区| 欧美一区久久| 久热精品视频在线| 亚洲伊人观看| 久久久www成人免费无遮挡大片| 亚洲激情在线观看| 亚洲一区综合| 日韩小视频在线观看| 午夜伦欧美伦电影理论片| 亚洲电影在线免费观看| 99综合在线| 亚洲国产人成综合网站| 亚洲图片你懂的| 亚洲另类视频| 久久国产婷婷国产香蕉| 中文网丁香综合网| 久久伊人免费视频| 欧美在线播放| 欧美日韩亚洲国产精品| 美国十次了思思久久精品导航| 欧美日产国产成人免费图片| 久久久久久久综合| 国产精品久久久久久久一区探花| 欧美成人高清视频| 国产偷国产偷亚洲高清97cao| 亚洲国产欧美久久| 亚洲电影专区| 久久精品在这里| 久久国产主播| 国产精品人人做人人爽| 亚洲黄色免费| 亚洲激情一区二区三区| 久久久久久69| 久久久久一区二区三区| 国产精品私人影院| 亚洲天堂成人在线观看| 国产精品99久久久久久久女警| 麻豆国产精品777777在线 | 亚洲欧美另类综合偷拍| 夜夜爽av福利精品导航 | 亚洲在线一区二区| 欧美日韩三区| 日韩亚洲欧美中文三级| 亚洲人成网站色ww在线| 麻豆成人在线播放| 欧美国产在线电影| 亚洲电影网站| 欧美成黄导航| 日韩天堂av| 亚洲线精品一区二区三区八戒| 欧美日本一区| 日韩一区二区精品葵司在线| 99热精品在线| 国产精品www网站| 亚洲一区国产一区| 久久国产88| 影音先锋久久久| 欧美不卡三区| 久久精品国产一区二区电影| 亚洲一区二区三区四区五区黄| 亚洲精品视频中文字幕| 欧美国产三级| 夜夜嗨av一区二区三区四区| 亚洲视频精品在线| 国产精品久久久久毛片软件| 亚洲免费在线视频| 久久亚洲精品视频| 亚洲精品欧洲精品| 欧美先锋影音| 欧美一区二区成人| 免费在线成人av| 99riav1国产精品视频| 欧美午夜寂寞影院| 欧美在线亚洲在线| 亚洲电影免费观看高清完整版在线观看| 亚洲美女少妇无套啪啪呻吟| 国产精品免费福利| 老色鬼久久亚洲一区二区| 99成人在线| 狼狼综合久久久久综合网| 99在线精品免费视频九九视| 国产精品一区在线观看| 久热精品视频在线| 中文欧美字幕免费| 蜜臀91精品一区二区三区| 中日韩视频在线观看| 影音先锋中文字幕一区| 欧美日韩一区三区四区| 久久久青草婷婷精品综合日韩| 99re66热这里只有精品4| 久久永久免费| 亚洲女优在线| 亚洲精品乱码久久久久久蜜桃91 | 亚洲影视九九影院在线观看| 精品二区视频| 国产精品日韩精品欧美精品| 欧美jjzz| 久久理论片午夜琪琪电影网| 一本久道久久综合婷婷鲸鱼| 久久婷婷国产麻豆91天堂| 亚洲网站在线| 亚洲精品视频在线观看网站 | 一区二区三区在线免费观看| 欧美亚一区二区| 欧美精品不卡| 免费不卡在线观看av| 欧美亚洲网站| 午夜精品久久久久久久99热浪潮| 99视频一区二区| 日韩视频精品在线观看| 亚洲人成精品久久久久|