• ベストアンサー

アプリケーションについて

私はBorland C++Builder5を使っているのですが、Javaのように、PaintBoxに自分でマウスの左クリックをして点を打つことは可能でしょうか?また、可能ならばどのようにすれば良いのでしょうか?やり方が記載されているURLでも良いので教えてください。 ちなみに、http://www.nirarebakun.com/graph/notspcli.htmlのところのような、自分で点を打つものを作ってみたいのです。ランダムな点と、既存のデータだけでは面白みがないもので・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • KoHal
  • ベストアンサー率60% (110/181)
回答No.1

以下はForm1上のPaintBox1でクリックした位置に半径2の円を描画するコードです。 void __fastcall TForm1::PaintBox1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) {  int r=2;  PaintBox1->Canvas->Brush->Color=PaintBox1->Canvas->Pen->Color;  PaintBox1->Canvas->Ellipse(X-r,Y-r,X+r,Y+r); } VCLで描画可能なコンポーネントはCanvasプロパティを持ちます。描画はこのCanvasに対する操作なので、TPaintBoxであれTFormであれTImageであれ同じ操作になります。 具体的にはヘルプでTCanvasを参照してください。 また開発者ガイドの第10章、とりわけ「ラバーバンド」あたりが参考になると思います。

revolution_2005
質問者

お礼

前回に続き、答えて頂いて有難う御座いました。イベントには、色々あるんですね。また、質問する時があったら宜しく御願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アプリケーションについて

    今晩は。早速ですがアプリケーションについて幾つか質問があります。よろしくお願いします。環境はBorland C++Builder5です。 普段のForm上の画面を青として、PaintBoxを白で表示させたとします。これは、別に何の問題もないんですが、Formを最小化したりすると出力した画面が消えてしまうんです。(PaintBox画面が消えて?元の青になってしまうということです)ただ、画面上は青になってしまいますが、PaintBoxに出力させた座標などのデータは残っているようです。web上にあるjavaのアプレットなどは、画面を最小化してもそのまま残っているのですが、C++BuilderのPaintBoxはFormを最小化したりすると消えてしまう仕様なのでしょうか? また、PaintBoxの座標をデータに合わせて縮小したり拡大したり出来ないのでしょうか?私の使っているパソコンの画面は15型なので、1000*1000程度の座標しか扱えません。 座標データが0~100程度のものもあれば0~10000といったものもたくさんあります。0~100程度の座標であればPaintBox上には座標がありますが、左端に小さくよっていて、非常に不細工です。また、0~10000の座標であれば画面に映りません。データに合わせて座標の幅を縮小したり拡大できないものでしょうか?矢張り、データ自体の方を縮小したり拡大したりといった作業をする必要があるのでしょうか?(そうすると、都市(点)が多くて座標が大きい場合、データを縮小すると点が重なり合って、非常に見辛いです。) あと、画面の大きさに合わせてPaintBoxやなどの大きさも大きくしたり小さくしたり出来ないのでしょうか?例えば、17型の画面で15型の画面で作ったものを動かしたら、当然ですが15型の画面が表示がされます。それを最大化するとFormだけが最大化されてPaintBoxなどはもとの15型のままです。Formの大きさに合わせてPaintBoxなども大きくしたり小さくしたりすることは可能でしょうか?

  • アプリケーションについて

    私は、Borland C++Builder5の環境下で、アプリケーションを作りはじめたのですが、一つ質問があります。 アプリケーションには、初めからTForm1というクラスが設定されていて、そのクラス内ではPaintBoxやEditを使用できることは分かるのですが、新たに自分で作ったクラス内(例えば、class Sampleというものを作ったとして)でPaintBoxやEditを使うことは出来ないのでしょうか? やはり、TForm1というクラスの中にSampleを入れ、一つにまとめなければ出来ないのでしょうか? 是非、ご教授下さい。

  • 文字の色の変更

     Borland C++ Builderを使っています。 Memoコンポーネントに、文字列を読み込んでいて、その中の一文字をマウスでクリックした時、その一文字だけの色を変えたいのですが、どうしたらよいのでしょうか? 教えてください。お願いします。

  • BCBのStringGridでデータ修正の許可制御をしたい

    Borland C++ Builder5 を使っています。 StringGridにデータを表示するのですが、そのデータの修正を許可する場合と 許可しない場合を動的(プログラム実行中)に切替したいと思っています。 (StringGridにキー入力が出来るようにしたり、出来ないようにしたりしたい、 という意味です。 ただし、マウスのクリックと、矢印キーでの移動は常に出来るようにしたいと 考えています。) OptionのgoEditing をセットしたり外したりすれば良いのでは、と考えたので すが、そのやり方が分かりません。 もしかしたらC++の基礎的な部分かも知れませんが、どなたかご指導をお願い します。

  • マウスを外しても勝手に左クリック

    急にPCの動きがおかしくなりました。 様々な症状があり、マウスを使用する作業にかんする異常は以下、 ・動画閲覧時に画面上で勝手に左クリック →マウスを外して置いてみても改善されず 文字入力時の異常 ・勝手にエンターキーを押されたように、無変換で決定されてしまう@数秒置きランダム。この際、左クリックで出てくる窓が開くのでやはり勝手に左クリックが働いている様子 →マウスを外しても改善されず ウィンドウ切り替え異常 ・いったん左クリックしなければならなくなった。例えば、windows7の下ツールバー・ドックで別ソフトへ移動するにも、いちいち左クリックしなければ右クリックが反映されない などで、動作が不安定になってしまいました。 マウスを外してもおさまらないので、マウスの異常ではないと思います。 とても困っています。どうかよろしくお願いします。 Windows7 デスクトップなのでタッチパッドの影響はなしです。

  • ノートPCの設定(左クリックなどを使えなくするには?)

    ノートPCの設定について教えて下さい。 ノートPCに既存でついている 「左クリックのボタン」「マウスカーソル」「右クリック」などを使用不可能にするにはどこで設定を行えば良いのでしょうか? 設定の場所を探したのですが判りませんでして(汗)

  • 最近使用しやすいパソコンのマウスは?

    私は自宅用のパソコンを購入して4年になりますが、それと一緒に入っていたマウスについてお聞きします。 今使用しているマウスは光学式のUSBですが、ここ最近左クリックした時、そんな強く押してもいないのに勝手にダブルクリックしたようなことが起きてしまいます。(決して壊れている感じではありません。)このマウスを使っている方はこういう経験はありませんか? 私はそのマウスとは別にキーボード手前の指で動かす既存の操作がありますが、いかんせんそのマウスよりも慣れていないせいかなかなか動かし難いです。 以前勤務した会社で扱っていたパソコンのマウスは、中にボールが入っているマウスが多かったです。(購入したきっかけもマウス付きにしました。) 皆さんはどのマウスが一番扱いやすい(自分にフィットしやすい)でしょうか?

  • 新しく購入したPCのマウスの調子がおかしいです。

    今まで使っていたパソコンのハードディスクが故障したため、新しいパソコンを買いました。新しいパソコンは基本的に異常もなく使えているのですが、マウスの調子が少しおかしいです。普通に使っているとよくマウスの一部の機能が使えなく(効かなく)なります。一部というのは、左クリックだけ、右クリックだけ、ホイールだけ、カーソルだけ等、ランダムで発生します。(同時に起こることはありません。)接続しなおすだけで直るので、いつもはそのように一時的に回復していますがしょっちゅう調子が悪くなるので大変不便です。ドライバを入れなおせば直るかとも思ったのですが、ドライバ自体がどれを入れたらいいのか分かりませんでした。 パソコンは、 OS:WindowsVistaHomeBasic メーカー:グッドウィル マウス:PS/2 互換マウス です。 アドバイスよろしくお願いします。(情報不足な点がありましたら申し訳ありません。後から補足します。)

  • マウスの電子回路

    マウスの電子回路 通常は、 左ボタンを押す→左クリック と認識されますが、 左ボタンを押す→右クリックし、3秒後に左クリック と認識するように改造は可能でしょうか? 電子回路について詳しくないのですが、このようにインターバルまで設けられるような改造は可能なのでしょうか? どなたかご回答お願いします。 なお、使用する基盤は下記のURLのとおりです。 http://www.kktstep.org/rm_05_1.html

  • FireFox3のタブ操作

    以前質問したのですが良く理解できなかったので再度教えてください。 やりたいことはURLをマウス左でクリックしたとき常に新しいタブで開く操作です。 (ただしマウスホイルをクリックする操作は除く) そこでアドオンのTabMixPlusをインストしました。 しかしどのように設定したら上記の操作ができるのか分かりません。 以上教えてください。