「これはヤバかったな」という遅刻エピソード

Form の Top/Left の位置を INI ファイルから取得しようと思います。

INIファイルの構造は

  [コントロール名]
  プロパティー=Value

つまり

  [Form]
  Top=300

という感じです。

WritePrivateProfileString に "Form","Top" というパラメータを送りたいのですが、

この場合のオブジェクト名である"Form"、プロパティ名である"TOP"はどこで取得できるのでしょうか?

A 回答 (4件)

>オブジェクト名はMe.Name、Me.TextBox.Name で取れますが、タイプはどうすればいいのでしょうか?



やはり自分で書いた方がよいと思うのですが。
Me.TextBox.Nameでとる段階で、タイプが分かってなくてはいけないですよね。(それがTextBoxだと知っているから、Me.TextBox.Nameでとるんだとおもうのですが)

フォームの名前と、TOP・LEFTの座標を取得してINIファイルに書き込むことで何をしようとしていますでしょうか?

たとえば、最後の位置を記憶させて、次回立ち上げ時にその位置に描写するとかでしょうか?
このような場合、formを閉じるときに、座標の保存をすると思います。コーディングをするときに、Formの名前やTextBoxを配置していること、個数、名前は自分で作成したわけですから分かりますよね?
それをコーディングすればよいと思います。

Formのなかにどんなオブジェクトが何個あるのか全く分からない。というのであれば確かにTypeをなんとか取得しないといけないかもしれません。
    • good
    • 0
この回答へのお礼

> Me.TextBox.Nameでとる段階で、タイプが分かってなくてはいけないですよね。

よく考えたらその通りでした。(笑)


>フォームの名前と、TOP・LEFTの座標を取得してINIファイルに書き込むことで何をしようとしていますでしょうか?

そうです。


>たとえば、最後の位置を記憶させて、次回立ち上げ時にその位置に描写するとかでしょうか?

そのつもりでした。少ないプロシージャーで共有しようと思いました。


ご回答どうもありがとうございました。

お礼日時:2004/07/29 21:06

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

補足日時:2004/07/28 13:30
    • good
    • 0

値を取得するときに使うGetPrivateProfileStringで列挙することができます。



セクション名を列挙したいときは、セクション名とキー名にvbNullStringを指定してください。
キー名を列挙したいときは、キー名にvbNullStringを指定してください。

値はChr(0)を間に挟んだ連続した文字列で返ってくるので、Split関数などでそれぞれの値に切り離して使用してください。

http://www.microsoft.com/japan/msdn/library/defa …
    • good
    • 0

それは、貴方が記述してあげればいいのでは?



毎回変わるのでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報