CRectTrackerの範囲チェック – プログラミング – Home

CRectTrackerの範囲チェック
 
通知
すべてクリア

[解決済] CRectTrackerの範囲チェック


ミラー
 ミラー
(@ミラー)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

ダイアログにビットマップを表示した上でCRectTrackerを
使ってある範囲を切り出すソフトを作成しています。
そのときにCRectTrackerが画面の外(左上の座標が
(0,0)未満、または右下の座標(640,480))に出て
しまったときにCRectTrackerを動かしたり、
伸ばしたのを無効にしたいのですがうまく
できません。
教えてください。
(わかりにくい文章ですいません)
以上


引用未解決
トピックタグ
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

CRectTracker::AdjustRectを参照してみてください。
これで出来そうな気がします。


返信引用
ミラー
 ミラー
(@ミラー)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

PATIOさん、すばやい回答ありがとうございます。
AdjustRectはオーバーライドしないと使用できないですか
教えてください。
現在はCRectTrackerをオーバーライドしないで
使用しています。
オーバーライドしなくてはいけないならば
参考になるコーディングまたはサイトを
教えて頂けないでしょうか?
インターネットで検索したのですが
うまく見つけられませんでした。
よろしくお願いします。


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

うーむ。
C++言語の基礎的な知識はお持ちですか?
MFCを使う場合はC++の知識が既にある事が前提だと思います。
知識が足りないようであれば、C++言語の勉強をする事をお勧めします。
この掲示板では何度も書いているので耳たこな人も多いと思いますが、
VC++の入門書とか参考書はC++言語のテキストには使えないと思った方がいいです。
VC++の本は、あくまでも開発環境のテキストであって言語のテキストではないと
思います。C++言語の知識を勉強するのであれば、C++言語の入門書や参考書を読む
べきでしょう。
C++言語の勉強をする時は、コンソールプログラム等で純粋にC++言語の勉強をする
ようにしてMFCは一切使わない方向でやった方が変に引っかからないで良いと思います。

ちなみに今回の場合は、CRectTrackerから派生したオリジナルクラスを作成し、
その派生クラス内でAdjustRectをオーバーライドします。
後は現行のCRectTrackerをオリジナルクラスに置き換えれば行けると思います。


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

> AdjustRectはオーバーライドしないと使用できないですか
>
単純に考えて、CRectTrackerが持つ標準の機能だけで足りるなら
CRectTrackerクラスをそのまま使えばよいでしょうが、
今回のように、それでは自身の要求が満たせない場合、
CRectTrackerクラスに足りない機能を追加れば良いわけです。

で、どうやって機能を追加するかですが、大抵はクラスを派生させ、
その派生クラスに対して色々機能を追加させていきます。
(勿論全てがそうとは言い切れませんが、今ここで細かい事を言っても仕方ない)

PATIOさんの言うAdjustRectも、この派生クラスに追加してください。


返信引用
ミラー
 ミラー
(@ミラー)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

PATIOさん、sugarさん回答ありがとうございます。
「派生クラス」で探したら参考になりそうな
サイトがあったので頑張ってみます。

> オーバーライドしなくてはいけないならば
> 参考になるコーディングまたはサイトを
> 教えて頂けないでしょうか?

C++言語の基本的な知識はある程度持っているつもり
なのですがちょっと工数がかけられない事情が
あって安易にやろうとした結果です。
都合のいいことばかり言って申し訳ありません。

以上


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました