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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0410
RAPTORタブのこと2未解決


RAPTOR

リンク

2006/4/10(Mon) 12:07:40|NO.341

ウィンドウ内で切り替えるタブが1つの時ならうまく表示されます。

質問したいのは複数のタブのことです。

複数すると、タブがタブと重なり、画面も重なって表示されます・・・・

初期化も利用しましたがタブが消えちゃうので困ってます。

こんな私に複数タブの組み方教えてください。



この記事に返信する


ひらめ

リンク

2006/4/10(Mon) 13:00:52|NO.343

タブとタブが重なるってどういうことでしょうか
タブが正常に表示されたら
WM_NOTIFYメッセージをoncmdで捕まえてタブ切り替えの処理をすればいいと思います

さくらさんのstdlibのモジュールでのやり方は知っているのですが



kz3

リンク

2006/4/10(Mon) 13:56:45|NO.345

タブというのはタブコントロールの事ですか?( タブにもいろいろありますです )

タブコントロール( SysTabControl32 )を前提として、
あるスクリプトのタブ切り替え処理( WM_NOTIFY )の部分コードですが、例えばこんな感じ。
// 子コントロールからの通知メッセージ
*Debug_Notify dupptr nmhdr, lparam, 12 if( nmhdr == hTabDebug ) && ( nmhdr.2 == TCN_SELCHANGE ){ // 選択タブにリンクされた子ウィンドウのリサイズと表示 TabCtrl_GetCurSel hTabDebug: i = stat ShowWindow hTabDebugChild.i, SW_SHOW i ^= 1 ShowWindow hTabDebugChild.i, SW_HIDE } return 0
使っている定数は次のとおりです。
#define TCN_FIRST     (-550)
#define TCN_SELCHANGE (TCN_FIRST - 1) #define TCM_FIRST $1300 #define TCM_GETCURSEL (TCM_FIRST + 11) #define TabCtrl_GetCurSel(%1) sendmsg %1, TCM_GETCURSEL, 0, 0 #define SW_HIDE 0 #define SW_SHOW 5 #define WM_NOTIFY $004E
hTabDebugChild はタブコントロールの各ページに関連付けられた
子ウィンドウのハンドルのリストです。

タブコントロールに TCM_GETCURSEL メッセージを送って現在選択されている
タブのインデックスを取得し、
子ウィンドウリストのインデックスに指定して子ウィンドウを表示/非表示にします。

インデックスを「i ^= 1」としているのはタブコントロールの子ウィンドウが2つだからです。



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