- ベストアンサー
コントロール名とそのプロパティー名を取得したい
Form の Top/Left の位置を INI ファイルから取得しようと思います。 INIファイルの構造は [コントロール名] プロパティー=Value つまり [Form] Top=300 という感じです。 WritePrivateProfileString に "Form","Top" というパラメータを送りたいのですが、 この場合のオブジェクト名である"Form"、プロパティ名である"TOP"はどこで取得できるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>オブジェクト名はMe.Name、Me.TextBox.Name で取れますが、タイプはどうすればいいのでしょうか? やはり自分で書いた方がよいと思うのですが。 Me.TextBox.Nameでとる段階で、タイプが分かってなくてはいけないですよね。(それがTextBoxだと知っているから、Me.TextBox.Nameでとるんだとおもうのですが) フォームの名前と、TOP・LEFTの座標を取得してINIファイルに書き込むことで何をしようとしていますでしょうか? たとえば、最後の位置を記憶させて、次回立ち上げ時にその位置に描写するとかでしょうか? このような場合、formを閉じるときに、座標の保存をすると思います。コーディングをするときに、Formの名前やTextBoxを配置していること、個数、名前は自分で作成したわけですから分かりますよね? それをコーディングすればよいと思います。 Formのなかにどんなオブジェクトが何個あるのか全く分からない。というのであれば確かにTypeをなんとか取得しないといけないかもしれません。
その他の回答 (3)
- palmmy
- ベストアンサー率38% (841/2169)
Formの名前、TOPの座標をどこから取得するか? という質問でしょうか?
補足
ちょっと、質問を書き間違っていました。 オブジェクトのタイプとオブジェクト名を取得してセクション名もしくはキー名を作成できないものかと考えました。 オブジェクト名はMe.Name、Me.TextBox.Name で取れますが、タイプはどうすればいいのでしょうか? Form(Juchuu) TextBox(Tanka) TextBox(Shuryo) TextBox(Bikou)) Form(Uriage) ・ ・ ・ ・ Form(Nyuukin) ・ ・ ・ [Form_Juchuu] Top=800 Left=300 [Text_BoxTanka] Top=300 Left=300 [Text_BoxSuryo] Top=300 Left=300 [Text_BoxBikou] Top=300 Left=300 [Form_Uriage] Top=800 Left=300
- taka_tetsu
- ベストアンサー率65% (1020/1553)
値を取得するときに使うGetPrivateProfileStringで列挙することができます。 セクション名を列挙したいときは、セクション名とキー名にvbNullStringを指定してください。 キー名を列挙したいときは、キー名にvbNullStringを指定してください。 値はChr(0)を間に挟んだ連続した文字列で返ってくるので、Split関数などでそれぞれの値に切り離して使用してください。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpsysinf/html/_win32_getprivateprofilestring.asp
- palmmy
- ベストアンサー率38% (841/2169)
それは、貴方が記述してあげればいいのでは? 毎回変わるのでしょうか?
お礼
> Me.TextBox.Nameでとる段階で、タイプが分かってなくてはいけないですよね。 よく考えたらその通りでした。(笑) >フォームの名前と、TOP・LEFTの座標を取得してINIファイルに書き込むことで何をしようとしていますでしょうか? そうです。 >たとえば、最後の位置を記憶させて、次回立ち上げ時にその位置に描写するとかでしょうか? そのつもりでした。少ないプロシージャーで共有しようと思いました。 ご回答どうもありがとうございました。