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


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
1203
𝒔𝑽𝒎☠GDIの関数をオブジェクトよりも上に表示させる方法とは?2解決


𝒔𝑽𝒎☠

リンク

2018/12/3(Mon) 16:07:53|NO.85929

徐々に寒くなってきましたね。こんにちは。

今回はタイトルにも書いてありますが、
「GDIの関数をオブジェクトよりも上に表示させる方法」、
簡単に言えば「boxfをオブジェクトより上に表示させる方法」が知りたいです。
いろいろと調べましたが私の検索運がないのか、該当するものが一軒もなかったです...( ;∀;)

実際HSPはC++で作られていると小耳に挟んでいるのでC++URLの提供もいいです(^^♪
出来ればHSPでそういうネットサンプルがあれば提供、よろしくお願いします。



この記事に返信する


cheperuphy

リンク

2018/12/4(Tue) 03:39:57|NO.85935

オブジェクトは子ウィンドウとして実装されています。
つまり、ウィンドウの中にウィンドウがあるような感じですね。

ウィンドウAの中にオブジェクトBがあるとしましょう。
内部的には、Aの手前に別のウィンドウBがいるような感じです。
この状態でAにboxfやmesで何を描画してもAの表面にしか反映されないので
Bより手前に表示させることはできません。

これはAの上に描画しようとするからできないので、解決策としては
オブジェクトBより手前に枠無しの子ウィンドウCを作って、その上に描画すればできます。


#include "user32.as" pos 270,216 : objsize 100,24 button "オブジェクトだよ",*label hwnd_p = hwnd bgscr 1,100,100 : boxf SetParent hwnd, hwnd_p : gsel 1,2 x = 0 : theta = 0.0 repeat x = 270+sin(theta)*100 : theta += 0.02 width ,,x,190 redraw await 10 loop *label



𝑷𝑶𝑵𝒀𝑶

リンク

2018/12/4(Tue) 08:12:01|NO.85939

解決マークは一応付けます。

>オブジェクトは子ウィンドウとして実装されています。
>つまり、ウィンドウの中にウィンドウがあるような感じですね。
オブジェクトが子ウィンドウだとは...知りませんでした。
bgscrもあるのですか...これもいい方法ですね。
他の方法があるでしょうか?



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