掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TPageControlで選択されようとしているタブは? (ID:19778)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
3Kさん> > OnChanging イベントは,新しいタブを選択する直前に発生します。 > 上記のイベント使うと出来そうな気もするけど? 最初の書き込みで 「選択しようとしているタブを取得する方法はないでしょうか?」 と書いています。 つまり、OnChanging イベントで、新しいタブを知る方法がなかったため質問しました。 変更後のタブがわからなければ、移動していいか判定できませんよね? で、今気が付きましたが、メッセージ処理を置き換えたり、マウスクリックの判定しなくても、 単純にOnChangeでTabCtrl_GetCurFocusを使えばいいだけということに気がつきました。 たった、これだけで済んだ話のようです。 これなら、全style対応かもしれません。 procedure TForm1.PageControl1Changing(Sender: TObject; var AllowChange: Boolean); var newTabIdx: Integer; begin newTabIdx := TabCtrl_GetCurFocus(PageControl1.Handle); AllowChange := (Abs(newTabIdx - PageControl1.ActivePageIndex) = 1); if not AllowChange then begin TabCtrl_SetCurFocus(PageControl1.Handle, PageControl1.ActivePageIndex); end; end; Basserさん、3Kさん、ありがとうございました。 かなりすっきりしました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.