
VB5を使用してます。
FormにCommandButton2つとicoファイルをImageで貼り付けてあります。
icoファイルは枠の中に中心角約45度の扇形があります。
この扇形を円状に回転させるにはどのようなスクリプトを組めばいいのでしょうか。
CommandButton1をクリックした時に回転が始まり、CommandButton2をクリックすると回転が
停止するようにしたいのですが。
考えてみた手順としては、
FormのGeneralで
Dim StopFlag As Boolean
CommandButton2で
StopFlag = True
CommandButton1で
StopFlag = False
この後どうコーディングすればよいかわかりません。
SinとかCosを使用するのだとは思うのですが。
以下icoファイルのデータです。
icoファイルのWidthは6144
Heightは5100
扇形部分のWidthは2600
Hightは3800
icoファイルの左端から扇形の左端までは1800
下端から扇形の下端までは730
参考までにicoファイルを図示してみましたが、相当いびつ(^^;
(中心点aが固定されて円状に回転するというイメージです)
以上、宜しくお願いいたします。
・・・・・・・・・・・・・・・・・・・・・・・・・
・ ・
・ ・ ・ ・ ・
・ ・ ・ ・
・ ・ ・ ・
・ ・ ・ ・
・ ・ ・ ・
・ a・ ・
・ ・
・・・・・・・・・・・・・・・・・・・・・・・・・
No.2ベストアンサー
- 回答日時:
こんにちは。
Imageオブジェクトに貼り付けた「扇形」のicoファイルを、
回転する事ってできましたっけ。
(できるのでしたら、すいません。私の勘違いという事で流してください。)
Imageオブジェクトごと回転するという手は不可能です。
(なぜならフォームに対しての4角の各点の座標の決め方が、
フォームの左上座標(0,0)から、オブジェクトの左上座標(Top,Left)を決め、
そのオブジェクトの左上座標から、右にいくつ(Width)、下にいくつ(Height)
という設定なので、四角の角4点の座標を回転するように設定できない。)
そうすると、Imageオブジェクト内の画像を回転させるって事になるんですが、
それも、私の記憶では出来ないと思います。
(それを実行するための手段がImageオブジェクトに用意されてない・・と思う)
で、私なりの代替案として、
扇形が、線や、塗り潰しの表現でいいのであれば、
Formに直に、書きます。
(Circleメソッドを使用します。)
ただ、このやり方で回転を表現する場合、
「フォームに書いて→消して→座標ずらして書いて→消して」
を繰り返す事になり、フォームがちらついて綺麗に見えないかもしれません。
もう一つ、方法として、一回転分の画像を作っておいて、
ImageListオブジェクトに全画像を登録。
Imageオブジェクトに表示する画像を順時変更し、
アニメーションGIFのようにコマ送りで、回転しているように見せるのも手です。
また、時間軸の処理を行うにはTimerコントロールを使うと便利です。
PS
三角形とかなら、Lineオブジェクト使って、楽に回転させれるんですけどね~。
(各頂点の座標が指定できるので。)
弧が出来ないんですよ・・弧が。
ありがとうございました。
>Imageオブジェクトごと回転するという手は不可能です。
それを念頭に置いていのたのですが、ダメそうですね。
VBAならIncrementRotation等を用いれば可能なような気もするのですが、VBにはないんでしょうね。
代替案を提示して頂いたのですが、基本的にはImageオブジェクトを回転させなければ解決できない状況にありますもので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Android(アンドロイド) Aloha Browser でダウンロードしたファイルをPCに転送するには? 1 2022/05/23 18:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
c言語でキーボードから2点の座...
-
ガウシアンフィルタのCプログラム
-
シーケンサー(PLC?)で制...
-
PPTのVBA スライド右下端の座...
-
エクセルである点からの距離で...
-
始点、終点の二つの座標と半径...
-
マインクラフト(pc版)で座標...
-
3次元座標上の2直線の交点判...
-
座標
-
【エクセル・マクロ】座標を回...
-
atan2関数 ベクトル計算・・・
-
オートシェイプ円弧の中心点、...
-
3次元空間上の2つの座標から...
-
エクセルでの座標計算の質問
-
Excel関数で指定範囲内に有るか...
-
2つの座標と角度から交点座標の...
-
VBA 図形○を入れる座標の取り方
-
エクセルで回転する座標の出し方
-
C#でxy座標グラフを描きたい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
3次元空間上の2つの座標から...
-
エクセルで回転する座標の出し方
-
ダイアログ内コントロールの位...
-
多角形の内部かどうか判定する方法
-
交差する2線分の交点座標の求め方
-
ワード上Shapeの位置情報を統一...
-
C言語 配列で座標
-
閉図形の座標の配列が右回りか...
-
シーケンサー(PLC?)で制...
-
Excel VBA で自在に図形を変化...
-
直線上にある点の座標の求め方
-
エクセルである点からの距離で...
-
OpenCvSharp4による画像判定解...
-
始点、終点の二つの座標と半径...
-
GLで座標を変えて回転させたい
-
ピクチャボックスの座標取得
-
最小二乗平面
-
c言語でキーボードから2点の座...
おすすめ情報