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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0110
ぽぴウインドウの親子関係について11解決


ぽぴ

リンク

2011/1/10(Mon) 01:21:55|NO.36587

今親と子のウインドウを作り、子のウインドウにフォーカスが移っても親のウインドウが
非アクティブにならないようにしたいのですができません><


#uselib "user32.dll" #func global GetWindowLong "GetWindowLongA" sptr,sptr #func global SetWindowLong "SetWindowLongA" sptr,sptr,sptr #func global SetParent "SetParent" sptr,sptr #define GWL_EXSTYLE #define GWL_STYLE (-16) #define GWL_HWNDPARENT (-8) #define WS_CHILD 0x40000000 sdim aa screen 2, 300, 300 : wid = hwnd title "子" mesbox aa,200,200 screen 0, 600, 400: topwid = hwnd title "親" GetWindowLong wid, GWL_STYLE SetWindowLong wid, GWL_STYLE, stat|WS_CHILD SetParent wid, topwid stop

上のソースだと親は常にアクティブなのですが、今度は子が常に非アクティブになり
配置したmesboxにフォーカスが移らなくて、入力できません><

何がいたいんだ!!!と言うと、タブコントロールのタブが無いバージョンみたい
なのを作りたいわけです。
ググルとMDIとかフレームなんちゃらとか、もうわけわかめ状態です><

先輩方!!ご教授よろしくお願いします><



この記事に返信する


ANTARES

リンク

2011/1/10(Mon) 03:42:39|NO.36588

 MDIは、元々、外側のウィンドウが画面を狭くするだけで、
タスクバーで選択できないし、Alt+Tabで切り替えられないしで、
何の益もないUIと思っていましたが、Win95ではとりあえず
動いていたHSP2用スクリプトがWinXPでは同様の症状となるため
(起動時は入力できるが、一度でも最小化すると入力できなくなる。
しかも、クローズボタンの処理がうまくいかない)、
当のマイクロソフトさえ見放したということでしょう。

 タブを使うか、一部のウィンドウをタスクバーに表示させないようにするか、
タスクバーのグループ化に対応させるかのどれかを考える方が賢明かと思います。



ぽぴ

リンク

2011/1/10(Mon) 04:42:38|NO.36589

すみません><
話違うんですがANTARESさんのHP見ようと思ったら、文字化けしてるんですがこれは
私だけでしょうか?



inovia

リンク

2011/1/10(Mon) 08:34:58|NO.36590

IE8のMS10-090のパッチがあたっている場合、
ISO-2022-JPで書かれたページを開くと文字化けするそうです。
手動でのエンコード指定も出来なくなる。

IE6〜IE9Betaまでこの現象が発生しているようです。
(未確認)

対策として、ユーザー側ではページリロード(F5)する、
レジストリを変更する、
管理者側ではサーバー側でHTTPヘッダにISO-2022-JPですよと明記する、
そもそもISO-2022-JPを使わないなどがあるようです。

レジストリを変更する方法はこちら
http://blogs.msdn.com/b/ie_jp/archive/2010/12/17/ms10-090.aspx



ANTARES

リンク

2011/1/12(Wed) 01:07:33|NO.36593

>管理者側ではサーバー側でHTTPヘッダにISO-2022-JPですよと明記する
してますけど、何か間違ってます?

>そもそもISO-2022-JPを使わないなどがあるようです。
自分で決めたルールさえ守れないマイクロソフトのルールにしたがう気はさらさらありません。
JISにすら対応しないマイクロソフトに非があるのはあるのは明らかでしょう。



リンク

2011/1/12(Wed) 05:18:16|NO.36594

> 自分で決めたルールさえ守れないマイクロソフトのルールにしたがう気はさらさらありません。
> JISにすら対応しないマイクロソフトに非があるのはあるのは明らかでしょう。
泥棒の入る家には鍵をかけるように、相手が悪いから対処しないという閉鎖的な思想は不利益しかもたらさない気がします。
無関係な私情で訪問者を困惑させることこそ、MSに踊らされていることと同義なのではないかと思いました。



inovia

リンク

2011/1/12(Wed) 08:19:38|NO.36595

>してますけど、何か間違ってます?

HTMLのMETAタグには記述されていますが、
HTTPのレスポンスヘッダには記述されていないようでした。
.htaccessなどで指定してあげればよいと思います。
http://www.shtml.jp/htaccess/mojibake.html



ORZ

リンク

2011/1/12(Wed) 09:57:37|NO.36596

非IEのブラウザを使えばよろし。誰も損をしない解決案。



ANTARES

リンク

2011/1/13(Thu) 00:45:10|NO.36597

>.htaccessなどで指定してあげればよいと思います。
 自動作成でシフトJISのページもあるので、かえってまずい気が……
ブラウザのバグはブラウザに抗議して修正させるのが筋でしょう。
下手に対策などしてあげるから、いつまでたってもバグを直そうとしないのです。



test

リンク

2011/1/13(Thu) 16:54:37|NO.36598

> 自動作成でシフトJISのページもあるので、かえってまずい気が……
自動作成ということはCGIやPHPなどでしょうか。
それなら、そのCGIやPHPを改造することで.htaccessを使わなくても指定してあげることが可能です。

また、直接は関係の無い話になりますが、ANTARESさんのサイトを拝見したところ、不適切な部分が多くあるようです。
そのため、これから先ANTARESさんの思ったとおりに表示されないことがあっても、何でもブラウザのバグであると騒ぎ立てずに、一度自分の作ったページにも原因がないか探ってみるのがよいと思います。



info

リンク

2011/1/15(Sat) 13:00:32|NO.36612

タイトルバーが有るとこんな現象が起こるみたいです。


#include "kernel32.as" #const WS_CHILD $40000000 #const WS_CAPTION $00C00000 #const WS_VISIBLE $10000000 winobj "edit","test",0,WS_VISIBLE|WS_CHILD|WS_CAPTION,200,200

リッチエディットでしたら大丈夫みたいなので、そちらを使ってみてはいかがでしょうか?


#include "user32.as" #include "kernel32.as" #const global GWL_STYLE $FFFFFFF0 #const global ES_MULTILINE $00000004 #const global WS_CHILD $40000000 #const global WS_VSCROLL $00200000 #const global WS_HSCROLL $00100000 #const global WS_CAPTION $00C00000 #const global WS_EX_CLIENTEDGE $00000200 #const ws WS_CHILD | ES_MULTILINE | WS_VSCROLL | WS_HSCROLL screen 0,800,600:hwnd_main = hwnd LoadLibrary "riched32.dll" screen 1,200,200,2:hwnd_child = hwnd GetWindowLong hwnd , GWL_STYLE SetWindowLong hwnd , GWL_STYLE , stat|WS_CHILD SetParent hwnd , hwnd_main winobj "RichEdit","test",WS_EX_CLIENTEDGE,ws,ginfo_winx,ginfo_winy,0,0 hwnd_redit = objinfo_hwnd(stat) ShowWindow hwnd_redit , 1 ShowWindow hwnd_child , 1



ぽぴ

リンク

2011/1/17(Mon) 00:11:47|NO.36652

infoさん、ありがとうございます!
問題はタイトルバーですか><
まだまだ未熟ですみません><
使わせていただきます!
ありがとうございました。



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