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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0622
ミャンマ子ウィンドウの選択7解決


ミャンマ

リンク

2010/6/22(Tue) 20:45:32|NO.33370

親ウィンドウ内の、子ウィンドウを選択しているかどうか取得したいのですが、
ginfo( 2 )にも
hwndにも反映されないので、困っています。
子ウィンドウに関する過去ログはたくさんありましたが、
どれが参考になるのかよくわかりません。
どなたか、子ウィンドウの選択を取得する方法を教えていただけないでしょうか。



この記事に返信する


ミャンマ

リンク

2010/6/22(Tue) 20:54:20|NO.33372

screenで作るとginfo(2)に反映されない…
bgscrで作るとginfo(2)に反映される……?



info

リンク

2010/6/23(Wed) 03:25:26|NO.33381

状況がよくわからないので、よろしければスクリプトをお願いします。



あり

リンク

2010/6/25(Fri) 11:17:37|NO.33420

screenで作った親ウィンドウ内の子ウィンドウというのが
何を指しているのかよく分かりませんが(MDIの事?)
Win32API関数のGetFocus関数でフォーカスのあるウィンドウのハンドルは取得できます。
あと特定座標下のウィンドウハンドルを取得するWindowFromPoint関数で
選択(クリック等)した座標にあるウィンドウハンドルが取得できるので
それを保存しておけば選択されたウィンドウが変更されているのかどうかを
判断する事も可能だと思います。

#include "user32.as" bhwnd = hwnd ;親ウィンドウのハンドル mes "親ウィンドウのハンドル(hwnd) = " + bhwnd sdim buf mesbox buf,300,200 : id1 = objinfo(stat, 2) objprm 0, "mesbox1のハンドル = " + id1 mesbox buf,300,200 : id2 = objinfo(stat, 2) objprm 1, "mesbox2のハンドル = " + id2 screen 1, 320, 240 : cls 1 mes "子ウィンドウのハンドル = " + hwnd SetParent hwnd, bhwnd : width 300, 100, 300, 20 gsel 0 *main x = ginfo_mx y = ginfo_my WindowFromPoint x, y : pwin = stat GetFocus : fwin = stat title "座標下にあるウィンドウハンドル= " + pwin + " (" + x + "," + y +") フォーカスのあるウィンドウ= " + fwin wait 10 goto *main
具体的に何がしたいのかがよく分からないので
それが分かればもっと良い方法があるかもしれません。



ミャンマ

リンク

2010/6/25(Fri) 13:56:06|NO.33424

状況の説明をいろいろ考えていたのですが、
座標からウィンドウハンドルを得るのと
フォーカスがあるウィンドウハンドルを得ること
まさにこれです。やりたかった事は!

user32で使えるAPI関数はHSPの標準リファレンスには載っていませんが、
みなさんどこで調べているのでしょうか。



あり

リンク

2010/6/25(Fri) 15:02:36|NO.33429

>user32で使えるAPI関数はHSPの標準リファレンスには載っていませんが、
>みなさんどこで調べているのでしょうか。

API関数の情報を調べる時に私の場合は基本的に『MSDNライブラリ』ですが
http://msdn.microsoft.com/ja-jp/library/aa139672.aspx
命令のカテゴリーが分からない時は『Win32API一覧』等で検索したり
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=Win32API%E4%B8%80%E8%A6%A7&num=50
『WinAPI Database for VB Programmer』さんをよく利用させて頂いてます。
http://www.winapi-database.com/

あと関数名や関数の使い方が分からない時は『猫でもわかるプログラミング』さんや
http://www.kumei.ne.jp/c_lang/
『WisdomSoft』さんの講座からヒントを得る事も多いです。
http://wisdom.sakura.ne.jp/

HSPでの情報ならちょくとさんのHPや
http://yokohama.cool.ne.jp/chokuto/urawaza/api/index.html
http://yokohama.cool.ne.jp/chokuto/
『HSP-NEXT』さん
http://hspnext.com/
『Let's HSP!』さんなどが情報量も多いので便利ですね。
http://lhsp.s206.xrea.com/

それでも知りたい情報が見つからない時は
ひたすら情報が引っ掛かりそうなキーワードで検索しまくります(苦笑)
余程特殊な事をしようとしていなければこれで大概の情報は見つかりますよ。



ミャンマ

リンク

2010/6/25(Fri) 20:41:29|NO.33435

なるほど…
user32は、すべてのwin32api関数を使えると考えて良いということですか?



あり

リンク

2010/6/26(Sat) 00:28:39|NO.33436

>user32は、すべてのwin32api関数を使えると考えて良いということですか?
違います、user32.asで使えるのはuser32.as内で定義してある関数のみです。
user32.asはuser32.dllを使う為の定義ファイルでしかありません。
(user32.asの中を見ればどのような仕組みであるかは解ると思います。)
commonフォルダの中に32と付くファイルが幾つかありますが
それがそれぞれの名前に対応するAPIを使う為の定義ファイルですので
利用する関数・APIによってインクルードするファイルを変える必要があります。
その利用する関数がどのAPIで使えるのか等を調べる為に先に示したような
HPを使うという事です。

詳しい事はHSPプログラミング・マニュアルの『API呼び出し』の項や
『#uselib』『#func』のヘルプ等を参照してください。



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