讓Webbrowser、CDHtmlDialog中的控制元件顯示為系統主題樣式
很多程式設計師可能都有這樣的煩惱,開發基於IE核心的瀏覽器在WinXP以及Vista、Windows7等系統下瀏覽某些頁面的時候缺沒有系統主題的樣式,按鈕、文字框等還是Windows9x時代那種老的樣式。在此筆者總結出幾種方法解決,大家可以參考一下。
方法1:在HTML檔案里加上如下程式碼
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="Yes">
此方法對於不是自己設計的網頁不實用.
方法2:
LoadLibrary (“explorer.exe”);
此方法在網路上廣為流傳,但筆者不推薦這樣做.
方法3:在以CDHtmlDialog 類為基類的標頭檔案中加入如下程式碼(推薦)
class CWebBrowserThemeDlg : public CDHtmlDialog
{
STDMETHOD(GetHostInfo)(DOCHOSTUIINFO *pInfo){pInfo->dwFlags |= DOCHOSTUIFLAG_THEME; return S_OK;};
};
WebBrowser 控制元件有一個IDocHostUIHandler 回撥介面,這個介面用於WebBrowser 顯示內容時,向WebBrowser 呼叫者查詢介面設定的配置資訊。其中有一個叫做GetHostInfo 的回撥函式,通過設定DOCHOSTUIFLAG_THEME 就可以設定WebBrowser 顯示的控制元件是具有Theme 的,
相關文章
- Avalonia 中的樣式和控制元件主題控制元件
- WPF建立不規則窗體時WebBrowser控制元件不顯示的問題Web控制元件
- Android系統自帶主題和樣式Android
- 去除iOS系統中彈框顯示URL的問題
- 讓windows系統顯示隱藏檔案Windows
- 控制 WebBrowser 控制元件的外觀和行為Web控制元件
- window8系統如何讓天氣顯示在metro介面中
- windows10系統如何讓此電腦中的資料夾不顯示Windows
- Win10系統如何設定多臺顯示器不同的縮放樣式Win10
- iOS呼叫系統相簿顯示英文標題,如何顯示中文呢?iOS
- win10系統下讓word文件全屏顯示的方法Win10
- 如何讓Win8系統照片應用顯示電腦中圖片
- iOS呼叫系統相簿顯示英文標題iOS
- WebBrowser 控制元件-說明Web控制元件
- SAP 系統中F4在幫助中顯示的物料主資料許可權控制
- AndroidSpannableString(顯示多樣式文字)Android
- for迴圈—不同div顯示不同樣式
- Android樣式和主題Android
- win7系統怎樣才能不顯示回收站圖示Win7
- (S)CSS中實現主題樣式的4½種方式 [譯]CSS
- 解決Raize日曆控制元件顯示的問題AI控制元件
- 讓win10系統工作列顯示實時網速的方法Win10
- win10系統如何讓工作管理員顯示命令列Win10命令列
- Android 顯示系統Android
- 控制檯中動態顯示系統時間
- 怎樣讓word不顯示回車符號 如何去掉word中的回車符符號
- 更改網站模板樣式顯示不出來網站
- js中讓字串中特定字元紅色顯示JS字串字元
- typora 基本使用和漂亮的主題樣式
- 直播系統原始碼,vue二種方式根據條件判斷顯示不同樣式原始碼Vue
- 淺談Android主題樣式Android
- Android學習系列(39)--Android主題和樣式之系統篇(上)Android
- Android學習系列(40)--Android主題和樣式之系統篇(下)Android
- 一個Eclipse程式碼顯示主題Eclipse
- zblog主題下載成功不顯示
- Android系統耳機圖示顯示Android
- JS修改當前控制元件樣式&為控制元件追加事件JS控制元件事件
- iOS 呼叫系統相簿拍照時顯示英文問題iOS