喫茶XRAYトップページ

[スレッド全体
]

[13777] TplBaseDragResize 最新のDelphiでの動作返信 削除
2025/2/2 (日) 16:50:20 dil
はじめまして。

TplBaseDragResizeを使わせていただいております。

最近のDelphiでは私の環境がDPIが拡大されているためか
Parentをセットするときに、
CM_VISIBLECHANGED
が、先に呼び出されるようです。

で、SetParentのinheritedの処理中にこれが起こるものですから
ShapeなどがSetParent後方でインスタンスが生成されているため、
アクセス違反が起こるようです。

以上報告でした。

いまからこのコントロールを使っていろいろさせてもらおうと思っています。
どうもありがとうございます。


[13778] Re:TplBaseDragResize 最新のDelphiでの動作返信 削除
2025/2/3 (月) 08:36:58 Mr.XRAY
▼ dilさん、さんにちは。

当サイトをご利用いただきありがとうございます。
また、報告に感謝いたします。
現在、申し訳ないのですが、サンプル、コンポーネント類の全て、
放置状態となっています。

他の方にも参考にして頂けるよう、リンクを貼らせていただきました。
http://mrxray.on.coocan.jp/Delphi/ResizeSamples/index.htm#05

これは、スクリーンキャプチャに簡単な画像処理機能を実装しよう思って作成しました。
テキスト描画用のコントロールなども、と考えていたのですが、放置のままです。
コードあるいは手法が何かしらの参考になれば幸いです。


[13791] Re2:TplBaseDragResize 最新のDelphiでの動作返信 削除
2025/2/13 (木) 06:47:58 dil
▼ Mr.XRAYさん

返信いただき、ありがとうございます。
現在、Lineを使っていますが、MouseイベントのXY座標が、
DragResizeのサイズ変更用Shapeの上にあると、
親コントロールの座標になって困っています。

もう・・・Delphiさん

まあ、カーソル位置を取得しなおしてScreenToClientすればいいだけの話ですが。


[13792] Re3:TplBaseDragResize 最新のDelphiでの動作返信 削除
2025/2/13 (木) 08:52:09 Mr.XRAY
> DragResizeのサイズ変更用Shapeの上にあると、

よく理解してのレスではありませんが、TShape を独立して配置するといことであれば、
この [ 図形の移動リサイズ関係サンプル ] は、
基本的に、

TMyDragResize = class(TplBaseDragResize)

のように、TplBaseDragResize を継承したクラスを作成 (コード) し、
そのインスタンスを実行時に生成して使用する形式となります。
例えば、円を描画するクラス、四角形を描画するクラス、文字を描画するクラス
なとを作成します。

TShape を単独使用することは考慮していません。
TShape はすでにグラブハンドルとラバーバンドで使用しています。

[ 09_描画用コントロールの基本クラスのソースコード ]
http://mrxray.on.coocan.jp/Delphi/ResizeSamples/R010_BaseDragResize.htm#09

 TplBaseRubberBand = class(TShape)
                           ^^^^^^
TplBaseGrabHandle = class(TShape)
                          ^^^^^^


[13795] 楕円(円)描画用のクラスの例返信 削除
2025/2/14 (金) 14:05:08 Mr.XRAY
> 例えば、円を描画するクラス、四角形を描画するクラス、文字を描画するクラス
> なとを作成します。



作成するクラスのクラス名は任意です。
楕円 (円) 描画用のクラスの例です。
プロパティなどの設定は一切ありません。

http://mrxray.on.coocan.jp/Delphi/zip/Resize_Ellipse_Class.zip


[13796] Re: 楕円(円)描画用のクラスの例(更新)返信 削除
2025/2/16 (日) 14:15:54 Mr.XRAY
> http://mrxray.on.coocan.jp/Delphi/zip/Resize_Ellipse_Class.zip
更新しました。
テスト用プロジェクトのコードの変更だけです。
クラスのコードに変更はありません。


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82