欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CefSharp如何進(jìn)行頁面的縮放(Ctrl+滾輪)

 更新時間:2021年06月03日 11:34:32   作者:吳志興  
CefSharp簡單來說就是一款.Net編寫的瀏覽器包,本文主要介紹了CefSharp如何進(jìn)行頁面的縮放,具有一定的參考價值,感興趣的小伙伴們可以參考一下

問題:CefSharp如何進(jìn)行頁面的縮放

摘要:由于CefSharp并沒有提供鼠標(biāo)滾輪事件。只有一個KeyboardHandler事件,因此只能接收到鍵盤事件。

環(huán)境:CefShap、Wpf

了解CefSharp是否有現(xiàn)成方法調(diào)用

通過這個不難看出有一個KeyboardHandler可以用來接收鍵盤的Ctrl按鈕。因此通過這個我們可以說就相當(dāng)于解決了問題的一半了,就是可以通過這個來接收按鍵。那么鼠標(biāo)的滾輪又如何接收到呢?

CefSharp不能接收到鼠標(biāo)滾輪 - 困境

相信大伙一開始肯定會想著ChromiumWebBrowser里自帶的MouseWheel事件。本人一開始也是這樣想的,后來發(fā)現(xiàn)程序在鼠標(biāo)滾動的時候不會進(jìn)入這個事件里面,雖然我也不知道這事什么原理,但很明顯這個方法可能已經(jīng)行不通了。因此我開始了我的面向百度編程歷程,但我百度的時候,第一頁第一篇就是說CefSharp的這個縮放,但實(shí)際上我進(jìn)去瀏覽的時候發(fā)現(xiàn),他說說的可能并不是CefSharp,因?yàn)槲疫@CefSharp里根本沒有所謂的鼠標(biāo)滾輪事件,如下圖所示,因此我覺得這篇文章對我的價值基本上是沒有任何用處。往后翻了幾頁依舊沒有任何收獲,至此我陷入了困境。

CefSharp不能接收到鼠標(biāo)滾輪 - 思路

這時的我開始想一些稀奇古怪的招了,比如什么Js注冊頁面縮放啊、企圖在CefSharp上層鋪控件來接收滾輪事件啊等等的。但js注冊頁面縮放經(jīng)過嘗試也未能達(dá)到要求。但第二個思路可以說是為當(dāng)前的困境提供了一個很好的思路。但是腦袋瓜子想著就是既然頁面不能接收我的滾輪事件,我為何不能在上層鋪一層控件呢!這個時候思路一來立馬給我精神的。說干就干。一開始的時候如下圖所示。

CefSharp不能接收到鼠標(biāo)滾輪 - 再臨困境

當(dāng)我將程序運(yùn)行起來的時候發(fā)現(xiàn)我一開始放置用來測試的按鈕并沒有浮現(xiàn)在頁面的上方。如下圖所示,我再一次懵逼,完全不知所措。因?yàn)槲乙膊恢繡efSharp是什么原理,為什么控件不能浮現(xiàn)在頁面的上方。至此,我又一次陷入了困境,并且對我之前的想法已經(jīng)不抱任何希望。又開始在電腦前盲目的摸魚起來了T T。

CefSharp不能接收到鼠標(biāo)滾輪 - 奇跡再現(xiàn)

有一句話說得可真不錯叫“無心插柳柳成蔭”。這個“奇跡”可以說是無意間給了我再一次嘗試解決的機(jī)會。由于前面陷入了困境,又苦于無法解決。在等待群友幫助的我又開始了開一些WPF的基礎(chǔ)知識的查看學(xué)習(xí)。也正是這一舉動讓我無意間又發(fā)現(xiàn)了解決控件不能浮在CefSharp上方的問題。那時我正在看菜單這個東西,正巧看到了Popup自定義菜單,也正是這個控件讓我對之前那個問題有了嘗試的想法。如下圖所示。我弄了一個這個Popup。但我運(yùn)行起來的時候,驚喜的發(fā)現(xiàn)他居然浮現(xiàn)在頁面的上方。也就是說我可以通過這個控件來讓他浮現(xiàn)在網(wǎng)頁的上方,這樣一來滾輪事件就可以接收到了。這一發(fā)現(xiàn)讓我完全可以解決了CefSharp不能就收滾輪的問題。至此一來按鍵事件可以通過KeyboardHandler來獲取,滾輪可以通過Popup來獲取。瞬間柳暗花明啊。O(∩_∩)O哈哈~

CefSharp Ctrl+鼠標(biāo)滾輪進(jìn)行頁面縮放的處理

通過之前可以看到問題已經(jīng)有了解決的方案了,接下來就是將他們結(jié)合起來了。話不多說。直接上代碼圖吧。O(∩_∩)O哈哈~

簡要介紹下上面幾張圖吧,第一張就是Popup,主要點(diǎn)就在于那個透明度是0.01這樣子當(dāng)按下Ctrl的時候不會因?yàn)镻opup的顯現(xiàn)而遮擋住了頁面。第二張是滾輪事件頁面縮放代碼,這個用了CefSharp自帶的方法。第三張是KeyboardHandler注冊Ctrl按下和按鍵松開時是發(fā)送通知來告知頁面變化。第四章就是用來接收KeyboardHandler發(fā)送的通知,并改變Popup的顯示和隱藏。至此,這個CefSharp滾輪縮放就解決啦。感覺是很簡單,主要是有沒有思路來解決這個問題。

最后

到此這篇關(guān)于CefSharp如何進(jìn)行頁面的縮放(Ctrl+滾輪)的文章就介紹到這了,更多相關(guān)CefSharp 頁面縮放內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#設(shè)計(jì)模式之Strategy策略模式解決007大破密碼危機(jī)問題示例

    C#設(shè)計(jì)模式之Strategy策略模式解決007大破密碼危機(jī)問題示例

    這篇文章主要介紹了C#設(shè)計(jì)模式之Strategy策略模式解決007大破密碼危機(jī)問題,簡單描述了策略模式的定義并結(jié)合加密解密算法實(shí)例分析了C#策略模式的具體使用方法,需要的朋友可以參考下
    2017-09-09
  • Unity UGUI的ContentSizeFitter內(nèi)容尺寸適應(yīng)器組件使用示例

    Unity UGUI的ContentSizeFitter內(nèi)容尺寸適應(yīng)器組件使用示例

    這篇文章主要為大家介紹了Unity UGUI的ContentSizeFitter內(nèi)容尺寸適應(yīng)器組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 最新評論