HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
1017
Yuzranium非表示のウィンドウでもWebView2を利用したい7解決


Yuzranium

リンク

2022/10/17(Mon) 16:45:06|NO.97202

HSP3始めて2ヶ月の初心者です。わがままと言うか贅沢な質問です。
表題の通り、screen命令やbgscr命令の第4パラメータに2や6を指定し、その後gsel命令で
表示切替を行なうとウィンドウはアクティブになるのですが、内容が全く表示されず困っています。
そのサンプルがこちらになります。


#include "mod_WebView2_10115038.hsp" screen 0, 900, 750, 2 pEnv = WebView2_CreateEnv() pCtrl = WebView2_CreateCtrl(pEnv, hwnd) WebView2_Size pCtrl, 0, 0, ginfo_winx, ginfo_winy pView = WebView2_GetView(pCtrl) WebView2_Navigate pView, "https://hsp.tv/" gsel 0, 1 onexit *ONEXIT_ stop *ONEXIT_ WebView2_Release pView WebView2_Release pCtrl WebView2_Release pEnv end


※動作環境※
Windows11Pro 22H2
HSP3.7beta3
SDK : microsoft.web.webview2.1.0.1370.28
ランタイム : Microsoft.WebView2.FixedVersionRuntime.106.0.1370.47.x64
参考にしたサイト1: https://blog.goo.ne.jp/hiro239415/m/202204
参考にしたサイト2: https://blog.goo.ne.jp/hiro239415/e/bb807ec822ffb8ba7c073a92b2b693a9

ダウンロードしたWebView2Loader.dllをHSPのインストールディレクトリにコピーし、
上記の参考にしたサイト1からmod_WebView2_10115038.hspのスクリプト、
参考にしたサイト2からWebView2_08355.hspのスクリプトをそれぞれ拝借し、
HSPインストールディレクトリ下のcommonフォルダ内に置いています。

どなたかご存じの方ご教授願います。



この記事に返信する


Yuzranium

リンク

2022/10/17(Mon) 16:48:08|NO.97203

余談ですが、
ゲームの制作過程でマークダウン記法によって記述されたmd形式のテキストをHSP上に表示させたいと
思うようになりまして、そこでhtmlに変換することでweb上でも表示できるのでaxobj命令について
調べていたところ、以下2つのスレッドに行き着きました。
https://hsp.tv/play/pforum.php?mode=all&num=97195
http://hsp.tv/play/pforum.php?mode=pastwch&num=93890
axobj命令でも試したところ対応していないせいかマークダウンのフォーマットが
崩れてしまいますが、screen命令の第4パラメータが2や6でも表示可能です。


screen 0, 850, 850, 2 axobj md, "Shell.Explorer.2", 845, 845 md->"Navigate" "https://hsp.tv/" gsel 0, 1 onexit *exit stop *exit delcom md end



Yuzranium

リンク

2022/10/17(Mon) 17:17:40|NO.97204

色々と試しているのですが、gselで挟んでいくとこうなりました。


#include "mod_WebView2_10115038.hsp" screen 0, 900, 850, 2 pEnv = WebView2_CreateEnv() gsel 0, 1 pCtrl = WebView2_CreateCtrl(pEnv, hwnd) gsel 0, -1 WebView2_Size pCtrl, 0, 0, ginfo_winx, ginfo_winy pView = WebView2_GetView(pCtrl) WebView2_Navigate pView, "https:\\hsp.tv" onexit *ONEXIT_ gsel 0, 1 stop *ONEXIT_ WebView2_Release pView WebView2_Release pCtrl WebView2_Release pEnv end

希望どおりの動作をするのですが、起動時に一瞬見えてしまうところが個人的に許せなくて...
なんとか非表示ウィンドウで設置できないものでしょうか。



Hiro

リンク

2022/10/17(Mon) 19:29:49|NO.97205

非表示ウィンドウにWebView2を作成すると非表示になるようです。
gsel 0, 1 の前に、
ICoreWebView2Controllerのput_IsVisibleで表示してみてはどうでしょうか。


ret = CCall2(pCtrl, 4, 1, 1) gsel 0, 1



Yuzranium

リンク

2022/10/17(Mon) 20:07:03|NO.97206

>>Hiroさん
返信ありがとうございます。試してみます。



Yuzranium

リンク

2022/10/17(Mon) 21:18:53|NO.97207

>>Hiroさん
理想通りの動作に出来ました!
制作中のものにも組み込んでほんの数回動かしてみただけですが問題ないようでした。
助かりました、ありがとうございます!

#include "mod_WebView2_10115038.hsp" screen 0, 900, 850, 2 pEnv = WebView2_CreateEnv() pCtrl = WebView2_CreateCtrl(pEnv, hwnd) WebView2_Size pCtrl, 0, 0, ginfo_winx, ginfo_winy pView = WebView2_GetView(pCtrl) WebView2_Navigate pView, "https:\\hsp.tv" onexit *ONEXIT_ ret = CCall2(pCtrl, 4, 1, 1) gsel 0, 1 stop *ONEXIT_ WebView2_Release pView WebView2_Release pCtrl WebView2_Release pEnv WebView2_Release ret end

今の私の状態では参考にしたサイトに掲載されているサンプル通りのものしか組めておらず、
今後活用していくには知識や情報が少なすぎて...

付属のヘルプテキストなどは見当たらなかったのですが、
Microsoftのドキュメンテーションを読まれているのでしょうか?
(解決済みにしておきます。)



Hiro

リンク

2022/10/17(Mon) 22:24:20|NO.97208

>> Microsoftのドキュメンテーションを読まれているのでしょうか?
はい。参考になるか分かりませんが、以下参照サイトです。

Microsoft Edge 開発者向けドキュメント - Microsoft Edge Development | Microsoft Learn
https://learn.microsoft.com/ja-jp/microsoft-edge/developer/

WebView2 Win32 C++ Reference | Microsoft Learn
https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32
リンクをたどった先に、一部サンプルがあります。

WebView2 SDK のリリース ノート - Microsoft Edge Development | Microsoft Learn
https://learn.microsoft.com/ja-jp/microsoft-edge/webview2/release-notes
新しい情報。

Issues MicrosoftEdge/WebView2Feedback GitHub
https://github.com/MicrosoftEdge/WebView2Feedback/issues
バグかと思ったら。



Yuzranium

リンク

2022/10/17(Mon) 22:47:57|NO.97209

>>Hiroさん
わざわざURLを提示してくださってありがとうございます。
私も勉強していきます。



ONION software Copyright 1997-2023(c) All rights reserved.