PageControlに閉じるボタンを実装したいのですが、私はこの質問も読んでいますHow to implement a close button for a TTabsheet of a TPageControl
問題は私が提供したコードを実装する方法を理解できませんUlrichbの答え... TPageControlから新しいコンポーネントの子孫を構築しているかどうか?誰かが特定のコードを書く場所を説明できるのであれば、私は感謝しています!私は私の学校で少しデルファイを知っている一人の先生がいるが、彼は私を助けませんでした..そして、これは愚かな質問である場合私は残念ですが、私はデルファイとプログラミングに新しいです。TPageControlの各Ttabsheetに閉じるボタンを描画します
4
A
答えて
4
あなたがリンクしている質問のコードは、新しいコンポーネントを作成しません。代わりに、ページコントロールのイベントを使用してカスタム描画を実装します。具体的にこれらのイベント:
- OnDrawTab
- れるonmousedown
- ONMOUSEMOVE
- OnMouseLeave
- onMouseUpの
あなたは、一致するイベントまでのこれらのイベントハンドラを接続するためにDelphiのフォームデザイナを使用する必要があります。コードを動作させる。
このアプローチは、その質問に答えるときは簡単に選択されたかもしれませんが、ページコントロールを持つ多くのフォームを持つアプリケーションには適用できません。そのような状況では、新しいページコントロールコンポーネントを派生させたいと思うだろう。
あなたは、むしろイベントを使用するよりも、あなたは以下のメソッドをオーバーライドする必要があることを行う場合は、次の
- DrawTab
- のMouseDown
- のMouseMove
- のMouseUp
ほかこれにはOnMouseLeave
の動作を複製する必要があります。それにはメッセージハンドラが必要です。
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
....
procedure TMyPageControl.CMMouseLeave(var Message: TMessage);
begin
inherited;
if Message.LParam=0 then
begin
// move OnMouseLeave code here
end;
end;
関連する問題
- 1. 閉じるWinFormボタンをクリックします。
- 2. uinavigationcontrollerスタックの各ビューコントローラの閉じるボタンを作成
- 3. 閉じるボタンでトーストを閉じたときのイベントを防止します。
- 4. 閉じるボタンまたはXボタンで画像を拡大する
- 5. ブートストラップポップオーバー閉じるボタン
- 6. ボディ閉じるボタン
- 7. wxNotebook閉じるボタン?
- 8. JFrame閉じるボタン
- 9. モノゲームのボタンにカスタムスプライトを描画する
- 10. QGraphicsPolygonItem開いた(閉じていない)ポリゴンを描画します
- 11. 電話機のボタンを閉じるブートストラップモーダルを閉じる
- 12. GL_POLYGONが3点の閉じたポリゴンを描画していません
- 13. ボタンでJFrameを閉じる
- 14. モーダルでボタンを閉じる
- 15. 閉じるボタンを追加
- 16. NSWindow閉じるボタンをオーバーライド
- 17. gtk_widget_set_sensitiveウィンドウを閉じるボタン
- 18. QToolButtonの閉じるボタン
- 19. WPFのWindows閉じるボタン
- 20. VS11アプリケーションの閉じるボタン
- 21. ギャラリアのボタンをフルスクリーンモードに閉じる
- 22. ボタンをクリックしてコンテナを閉じる
- 23. ボタンをクリックしてウィンドウを閉じる
- 24. IFrameモードでFancyBoxを閉じる閉じるボタンを表示
- 25. ブラウザを閉じるボタンを閉じるjQuery UIダイアログ
- 26. カスタムアークビューを描画し、各アークのユーザークリックを検出します。
- 27. ボタンなしでAlertDialogを閉じる
- 28. ボタンをクリックして閉じるアプリケーション
- 29. qtip2タイトルバーなしの閉じるボタン
- 30. 描画パスがシェイプを閉じていない
デルファイxe2で試してみましょう。大変ありがとうございます。 –
私はまだそれを終わらせることはできません:デイビッドは、DrawTabイベントが使用されていると私に言っていますが、私は例でそれを見つけることができませんでした。私はTFormMain.PageControlCloseButtonDrawTabだけを見つけました。このイベントを実装しようとすると、「宣言されていない識別子ページコントロールクローズボタン」というエラーが発生しています。そのサンプルのソースコード全体をどこから見つけることができますか? –
オブジェクトインスペクタでOnDrawTabなどを検索し、それらのイベントにハンドラを割り当てます。これはイントロのもので、あなたはそれを習得するために戒律を読むべきです。 –