• 締切済み

オブジェクト

VBでimage(オブジェクト名:aaa)をクリックした折  aaa_click() ができます    そこでご質問なのですが、クリックしたオブジェクト名を 取得できるのでしょうか?  例えば xxx_click 関数を作成し、 (1) image(オブジェクト名:aaa)をクリックした折      xxx_click()関数に入って オブジェクト名 aaa と取得      (2) 他のimage(オブジェクト名:bbb)をクリックした折も      xxx_click()関数に入って オブジェクト名 bbb と取得 のような xxx_click 関数を作成することは可能でしょうか? 非常に困っています。教えてください

  • nao0
  • お礼率10% (50/483)

みんなの回答

  • jmh
  • ベストアンサー率23% (71/304)
回答No.4

コントロール配列しすると、Index が得られます。 または…、  Private Sub xxxClick(ByRef n As String)   ' …  End Sub  Private Sub aaa_Click()   xxxClick("aaa")  End Sub  Private Sub bbb_Click()   xxxClick("bbb")  End Sub みたいにする。 …ではダメですか?

noname#4564
noname#4564
回答No.3

> Imageコントロールはフォーカスを持たないので、ActiveControlでは参照出来ないと思います。 > Pictureコントロールなら出来ますが。 ご指摘感謝です。m(_ _)m ラベルとかもダメですね、たぶん。(試してみてないけど)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 No.1の人の方法ですが、 Imageコントロールはフォーカスを持たないので、ActiveControlでは参照出来ないと思います。 Pictureコントロールなら出来ますが。

noname#4564
noname#4564
回答No.1

> そこでご質問なのですが 敬語の使い方が変です。ふつう自分のことには尊敬語は使いません。 たぶん、尊敬語と謙譲語の使い分けが理解できていないのだと思いますが・・・。 (まさか社会人じゃないよね?) で、「ご質問の」ケースですが(笑)、 上位モジュール(呼び出し側)で Screen.ActiveControl.Name を引数として渡し、 下位モジュール(呼び出し先)で As String の引数で受け取ればよいと思います。 Screen.ActiveControl   ↓ As Control でもほぼおなじ。

nao0
質問者

補足

早速のご回答ありがとう御座います。 formに多くのimage(bmp型)を貼り付けています すべてimageのオブジェクト名が異なりますが、 どのimageをクリックしても xxx_click()関数が実行され この関数の中で、どんな名前のオブジェクトのimageがクリックされたのか? 取得したいのです ご教示頂きました方法で取得できるのでしょうか? 試みたのですが、分かりませんでした もう少し詳細にご教示頂けませんでしょうか? よろしくお願い申し上げます

関連するQ&A

  • 全てのプロパティが空白のオブジェクトは・・。

    例えば、 「aaa」、「bbb」、「ccc」とプロパティを持つオブジェクト「$obj_test」で、 $obj_test->aaa = "" ; $obj_test->bbb = "" ; $obj_test->ccc = "" ; とした場合、「empty($obj_test)」では真とはなりません。 全てのプロパティが空白のオブジェクトを、emptyと瞬時に判断する関数または方法はあるでしょうか?

    • ベストアンサー
    • PHP
  • URL書き換え

    mod_rewriteを使ってURL書き換えを行っています。 ttp://aaa.jp/aaa/xxx.html ↓ ttp://aaa.jp/bbb/xxx.html と書き換えようと考えています。 ttp://aaa.jp/bbb/xxx.html と直接指定されたときは大丈夫なのですが、 ttp://aaa.jp/aaa/xxx.html と指定されたときには、 ttp://aaa.jp/bbb/xxx.html に書き換えたいのですが、なかなかうまきいきません。 どうすればできるのでしょうか? (リンク表示にならないためにhttpのhをとってます)

  • オブジェクトの関連について

    クラスAAAとクラスBBBをインスタンス化し、それぞれ、aとbのオブジェクトとします。 mainメソッドから、bのbmethメソッドを呼び出し、さらに、Amethメソッドを呼び出し また、mainからもaのAmethメソッドを呼び出し可能にする方法はありませんでしょうか? まだ、Java初心者なもので説明も不十分かと思いますがよろしくお願いします。 class AAA{ void Ameth() { System.out.println("Aメソッド"); } } class BBB{ public AAA a; void bmeth(){ a.Ameth(); } } public class test{ public static void main(String arg[]) { AAA a = new AAA(); BBB b = new BBB(); b.bmeth(); a.Ameth(); } }

  • 1つのセルに複数のハイパーリンク(改)

    二重投稿申し訳ありません。 あせり過ぎてて、アプリ名書き忘れてました エクセル2003で1つのセルに複数のハイパーリンクを設定することは可能でしょうか? たとえば、1つのセルに AAA,BBB,CCCと表示されていて AAAをクリックしたらhttp:xxxへ BBBをクリックしたらhttp:yyyへ CCCをクリックしたらhttp:zzzへと言った様に

  • URLに付く [ ] を外したい

    現在稼働中のWebシステムの保守を担当しています。 先日、お客様から「URLに付いている [ ] を消して欲しい」との依頼がありましたが、 やり方が分からず、困っております。 現在、 xxx/aaa[]/1,2,3/bbb[]/1,2,3/ このようになっているURLを xxx/aaa/1,2,3/bbb/1,2,3/ に変更したいという依頼です。 現在、以下のようなフォームがあり <form action="xxx.php" method="GET"> <input type="checkbox" name="aaa[]" value="1"> <input type="checkbox" name="aaa[]" value="2"> <input type="checkbox" name="aaa[]" value="3"> <input type="checkbox" name="bbb[]" value="1"> <input type="checkbox" name="bbb[]" value="2"> <input type="checkbox" name="bbb[]" value="3"> </form> このフォームを送信するとURLは以下のようになりますが、 xxx.php?aaa[]=1,2,3&bbb[]=1,2,3 これを .htaccess で xxx/aaa[]/1,2,3/bbb[]/1,2,3/ というように書き換えています。 このURLを、 xxx/aaa/1,2,3/bbb/1,2,3/ に変更することはできますでしょうか? html、.htaccess、php、どの部分が改修になっても構いません。 [ ] を削除したいという理由としては、 インターネットの広告を出すときに、広告登録フォームでURLがエラーになるから、ということでした。 広告登録フォームでURLがエラーにならなければ良いのかと思い、 xxx/aaa%5b%5d/1,2,3/bbb%5b%5d/1,2,3/ というように [ ] の部分をURLエンコードする方法をお伝えしましたが、%が付くのもダメということでした。 xxx/aaa_0/1/aaa_1/2/aaa_2/3/bbb_0/1/bbb_1/2/bbb_2/3/ というように カンマ区切りじゃなくなるのも嫌だそうです。 あくまで xxx/aaa/1,2,3/bbb/1,2,3/ の形が良いとのことでした。

  • AccessSQL 1つのテーブルに複数のデータ

    お世話になっております。 アクセスSQLでの質問です。 --テーブル---------- F_1 F_2 AAA BBB AAA CCC BBB XXX CCC DDD DDD YYY 1.F_1のAAAを条件にF_2のBBB・CCCを取得し、 F_1のBBB・CCCと、F_2のXXXとDDDを取得します。 次に、取得したF_2のXXX・DDDを条件に、F_1のDDD、F_2のYYYを取得します。 つまり、AAAを取得した結果、SQL一つで、上記テーブルデータをF_1:AAA以外、取得したい要件です。 有識者の方、ご享受頂きたいです。 宜しくお願い致します 【自力で考えた結果】 -------------------------- select F_MenuCD,F_ZaiCD from [TABLE] where F_MenuCD IN ( SELECT F_ZaiCD FROM [TABLE] WHERE F_MenuCD IN ('AAA') ); F_1 F_2 BBB XXX CCC DDD を取得するSQLは上記でいけそうなのですが、 DDD YYY を、1つのSQLで取得したいのです。

  • javascriptで特定のオブジェクトのCSSの書換え

    javascriptでCSSの書換えをしたいと思っているのですが、うまくいきません。 例えば、 <div class="aaa" style="z-index:0;">aaa</div> <div class="aaa" style="z-index:1;">bbb</div> <div class="aaa" style="z-index:2;">ccc</div> <div class="aaa" style="z-index:3;">ddd</div> <div class="bbb">111</div> <div class="bbb">222</div> <div class="bbb">333</div> このようにあったときに、≪z-indexの要素が1以上≫のclass="aaa"のオブジェクトを探して、該当するものの≪z-indexの値から-1する≫というような関数を作りたいのですが、ループの記述で困っています。 (prototype.jsを使うので、getElementsByClassNameは使えます。) 詳しい方、ご教授いただければ幸いです。

  • 多次元配列?配列のキー?変数の型?

    PHP勉強中のものです。 予定通りの動作にならんく四苦八苦しています。 どのように修正すれば予定通りになるのか考え方のアドバイスなどお願いします。 処理したいこと 変数$xxxの先頭の文字と最後の文字をsubstr()で取り出し$aaaと$bbbに別けそれぞれ代入しキーとして多次元配列に代入した配列要素を指定してechoで出力したい 試してみたこと $aaa1と$bbb1に直接整数を代入してみたところ、echoで出力された キーになる変数を整数型として変数に代入してみたが希望通りの動作にならなかった。 なにかアドバイス頂けると助かります。 $array = array( "0" =>array("あいうえお","かきくけこ"), "1" =>array("さしすせそ") ); $xxx = "0-1"; $aaa = substr($xxx,0,1); $bbb = substr($xxx,2); $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない $aaa1 = 0; $bbb1 = 1; echo $array[$aaa1][$bbb1]; //出力された $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない

    • ベストアンサー
    • PHP
  • 要素名を表示させたい

    <data>   <aaa xxx="0">     <yyy zzz="1"/>     <yyy zzz="2"/>   </aaa>   <bbb xxx="0">     <yyy zzz="1"/>     <yyy zzz="2"/>   </bbb>   <ccc xxx="0">     <yyy zzz="1"/>     <yyy zzz="2"/>   </ccc> </data> 上のようなXMLから、XSLのvalue-ofなどを使って、 要素名aaa、bbb、cccを表示させるにはどう記述すればいいのでしょうか?

    • ベストアンサー
    • XML
  • アカウント名の変更について

    Vistaで家族4人分のアカウントを作成し、私が管理者となり「AAA」というアカウント名を付けました。 その後「AAA」を「BBB」に変更しました。そしてCドライブのユーザーフォルダを見て「BBB」が新たに作成されたのは確認したのですが、 「AAA」も残っており、しかもその中のAppDataというフォルダの中には、「BBB」を含め他の家族のAppDataの中身よりも 数多くのフォルダが格納されています。「AAA」は削除してはいけないのでしょうか。何となくすっきりしないので「AAA」は削除したいのですが。 また、Dドライブのプロパティのセキュリティのユーザー名の中には「BBB(xxx-PC)\AAA」というものが入っています。 AAAの存在を消して、単なる「BBB(xxx-PC)」としたいのですが、方法があれば教えて頂けませんでしょうか。 パソコンのことはよく分からないので説明に至らない点があるかもしれませんが、よろしくお願い致します。

専門家に質問してみよう