国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

自定義的TShockwaveflash

2019-11-18 18:02:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
--------------------------------------------------- -------自定義的TShockwaveFlash.ocx---------------- --------------------------------------------------- --------------------------------------------------- 添加功能:對(duì)鼠標(biāo)在 flash.ocx 中的信息捕獲.---------- --------------------------------------------------- 可捕獲鼠標(biāo)信息有: 1.鼠標(biāo)在控件中移動(dòng)時(shí)的坐標(biāo)值; 2.鼠標(biāo)右擊時(shí)彈出菜單的設(shè)置; 3.鼠標(biāo)點(diǎn)擊控件時(shí)移動(dòng)窗體; 4.鼠標(biāo)是否移入控件; --------------------------------------------------- 編寫原因: 我一直在作一個(gè)flash播放器:D-Flasher. 所以,要在其中捕獲鼠標(biāo)的一些消息. 但原 TShockwaveFlash 組件沒有這些方法. 只能通過(guò):application.OnMessage:=Form.MsgPRoc; 這樣的并不高級(jí)的辦法.所以作了這么一個(gè)東西. 對(duì) TShockwaveFlash 組件作了自定義. 在原來(lái)控件上加了對(duì)鼠標(biāo)的行為的監(jiān)控. 使得對(duì) Flash 控件的鼠標(biāo)消息處理的效率提高了. 用起來(lái)也方便了不少. 所以共享出來(lái).若存在什么錯(cuò)誤,還請(qǐng)指正. 由于本人水平有限,也是處于學(xué)習(xí)中. 也有許多不完善的地方,歡迎大家進(jìn)行修改. --------------------------------------------------- 源文件:CustomFlash.pas.你可以對(duì)它進(jìn)行編譯. 源碼: {---------------------------------------------------------------} {---------------自定義的TShockwaveflash.ocx---------------------} {檢測(cè):1.鼠標(biāo)在控件中移動(dòng)時(shí)的坐標(biāo)值;2.鼠標(biāo)右擊時(shí)彈出菜單的設(shè)置; } { 3.鼠標(biāo)點(diǎn)擊控件時(shí)移動(dòng)窗體;4.鼠標(biāo)是否移入控件; } {---------------------------------------------------------------} {制作日期: 2004-8-23 [ending722] e-mail:ending722@163.com } {-----------------------------------------孤血雁工作室 楊光-----} unit CustomFlash; interface uses SysUtils,Classes,Controls,Menus,windows,forms, Messages,OleCtrls, ShockwaveFlashObjects_TLB; type TCustomFlash= class(TShockwaveFlash) private MPosX:integer; MPosY:integer; //鼠標(biāo)在控件上的 X Y. FPopupMenu:TPopupMenu; LMoveFrm:Boolean; //窗體是否可以移動(dòng) MIsEnter:Boolean; FMoveFrmHwnd:TForm;//接收消息的窗體 protected procedure WMMMOVE(var message:tmessage);message WM_MOUSEMOVE; procedure WMMRDOWN(var message:tmessage);message WM_RBUTTONDOWN; procedure WMMENTER(var message:tmessage);message CM_MOUSEENTER; procedure WMMLEAVE(var message:tmessage);message CM_MOUSELEAVE; public published property mouseposX:integer read MPosX; property mouseposY:integer read MPosY; property PopupMenu:TPopupMenu read FPopupMenu write FPopupMenu; property IsMoveFrm:Boolean read LMoveFrm write LMoveFrm default false; property IsEnterFrm:Boolean read MIsEnter default false; property MoveFrmName:TForm read FMoveFrmHwnd write FMoveFrmHwnd; end; procedure Register; implementation procedure Register; begin RegisterComponents('Samples', [TCustomFlash]); end; //得到鼠標(biāo)移動(dòng)的 X,Y 值. procedure TCustomFlash.WMMMOVE(var message:tmessage); begin MPosX:=message.LParamLo; MPosY:=message.LParamHi; //并發(fā)送給窗體. SendMessage(FMoveFrmHwnd.Handle,WM_MOUSEMOVE,message.WParam,message.LParam); if message.WParam=MK_LBUTTON then //左擊,移動(dòng)主窗體. if (Mouse.CursorPos.Y<345) and (LMoveFrm) Then begin // 加入 標(biāo)志 判斷. ReleaseCapture; SendMessage(FMoveFrmHwnd.Handle,WM_SYSCOMMAND,SC_MOVE+HTCAPTION, 0); end; //在 MOUSEMOVE 時(shí)判斷l(xiāng)eft是否按下, inherited; //比檢測(cè) WM_LBUTTONDOWN 效果要好的多. end; procedure TCustomFlash.WMMRDOWN(var message:tmessage); begin If Assigned(FPopupMenu) Then //右擊,彈出菜單. FPopupMenu.popup(Mouse.CursorPos.X,Mouse.CursorPos.Y); end; //鼠標(biāo)進(jìn)入 flash.ocx procedure TCustomFlash.WMMENTER(var message:tmessage); begin MIsEnter:=true; end; //鼠標(biāo)移出 flash.ocx procedure TCustomFlash.WMMLEAVE(var message:tmessage); begin MIsEnter:=false; end; end. --------------------------------------------------- 編寫語(yǔ)言及環(huán)境: Delphi7+windows2k+sp4 完成日期: 2004-8-23 --------------------------------------------------- E-MAIL:Ending722@163.com ending722@yahoo.com.cn QQ:154041260 --------------------------------------------------

上一篇:修改XPMenu讓ToolButton在Down=True時(shí)正確顯示

下一篇:DesignPattern之SimpleFactory

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 承德县| 且末县| 灯塔市| 沂水县| 香港 | 铁岭县| 桦甸市| 巴彦淖尔市| 普宁市| 洛隆县| 合阳县| 南雄市| 方正县| 忻州市| 布拖县| 永城市| 新宾| 京山县| 博乐市| 民丰县| 科技| 沙田区| 柯坪县| 东兰县| 乐业县| 鄂托克旗| 阿克陶县| 东光县| 湖南省| 武穴市| 桃园市| 政和县| 阳泉市| 休宁县| 随州市| 广丰县| 密山市| 阜平县| 鄂州市| 通河县| 蓝山县|