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


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0101
ゆータイトルバーの文字列を消してタスクバーのラベルに文字を表示させたい5未解決


ゆー

リンク

2018/1/1(Mon) 11:28:40|NO.82143

IE11のようにタイトルバーの文字列を消してタスクバーのラベルに文字を表示させたいですが可能でしょうか?
https://www.fastpic.jp/images.php?file=9630656308.jpg



この記事に返信する


あまら

リンク

2018/1/1(Mon) 15:28:52|NO.82144

bgscrでウィンドウ作成、閉じるボタンや最大化ボタンなどはウィンドウ右上に自作し配置。

これで一応希望通りにはなるかと思います。

ただし、それっぽいキャプションバー(タイトルバー)や
ウィンドウの枠なんかも自作する必要がありますし、
ウィンドウを移動するときのドラッグ処理などにも対処しなければいけません。

ウィンドウの角を丸めるとかまでやるならレイヤードウィンドウを利用するとか。。。

やろうと思えばできるけど、非常に準備が面倒なイメージですね。



ゆー

リンク

2018/1/1(Mon) 15:43:18|NO.82145

bgscrを使わない方法でお願いします。



いののて

リンク

2018/1/1(Mon) 15:59:32|NO.82146

IEのソレは、ITaskbarList3 インターフェースを使用して実装できます。

手順は、
1. メインウィンドウとは別のダミーウィンドウを作成する。
2. メインウィンドウのタイトルバーの文字列は消して、ダミーウィンドウに本当のタイトルを設定する。
3. ITaskbarList3 インターフェースのRegisterTabメソッド、SetTabOrderメソッドでダミーウィンドウをタスクバーに登録する。
→メインウィンドウはタスクバーから見えなくなり、ダミーウィンドウが変わりに追加されます。

で出来ます。

簡単なサンプル:
//TaskbarList
#define CLSID_TaskbarList "{56FDF344-FD6D-11d0-958A-006097C9A090}" #define IID_ITaskbarList3 "{ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf}" #usecom ITaskbarList3 IID_ITaskbarList3 CLSID_TaskbarList #comfunc ITaskbarList_HrInit 3 #comfunc ITaskbarList3_RegisterTab 11 int,int #comfunc ITaskbarList3_SetTabOrder 13 int,int screen 1, , , screen_hide //ダミーウィンドウ title "表示するタイトル" hDummyWindow = hwnd screen 0 //メインウィンドウ title "" //タイトルバーを消す hMainWindow = hwnd //ITaskbarList3 初期化 newcom iTask3, ITaskbarList3 ITaskbarList_HrInit iTask3 //ダミーウィンドウ登録 ITaskbarList3_RegisterTab iTask3, hDummyWindow, hMainWindow ITaskbarList3_SetTabOrder iTask3, hDummyWindow, 0



ゆー

リンク

2018/1/1(Mon) 16:51:59|NO.82150

>いののてさん。
ありがとうございます。
試してみたのですが、できませんでした。

OSはWindows 10です。



いののて

リンク

2018/1/1(Mon) 17:26:04|NO.82151

>試してみたのですが、できませんでした。
自分のやり方が間違っていました。すみません。
IEをいろいろいじってみたら、WM_NCCALCSIZEというメッセージでクライアント領域を広げているだけでした。
下の過去ログの一番下のスクリプトが一番理想に近いものだと思われます。
「クライアント領域を上に広げたい」http://hsp.tv/play/pforum.php?mode=pastwch&num=56498



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