[vb6.0・win2000]
社内業務用アプリを作成しています。
現状は”自分のexeファイル名”・”ディレクトリ”を表示するステータス・バー
を使用しています。そこからステータスバーを共有で使用を考えユーザーコントロール
の作成し各アプリに参照設定を行なおうと思っています。しかしながらユーザーコントロールに各アプリの情報(ファイル名・ディレクトリ名)の設定方法がわかりません。なにかご教授いただければ幸いです。
目的は今後のアプリ作成の祭の効率化です。
まだなにもやってないようなので
(文面で判断
やってみてわからないことがあったら質問してみてください。
現在の以下の作業行ないました。
①新規プロジェクト作成(activ xコントロール)
②ステータスバーの設置
③ocxファイル作成
④既存のプロジェクトから参照設定
⑤②で作成したコンポーネントの設置ができたことを確認。
ここから④の既存プログラム名・ディレクトリを②で作成した
ユーザーコントロールに設定したいのがユーザーコントロール
からユーザーコントロール参照元のプログラムの情報取得の
コーディング方法がわかりません。どうかご教授お願いします。
参照元のプログラムがユーザーコントロールを参照する方法はわかりますか?
参照元のプログラムがユーザーコントロールにプログラムの情報を渡せばいいと思います。
参照元のプログラムがユーザーコントロールを参照する方法がわかりません。
ユーザーコントロール名.ステータスバー名.・・・としたのですが
メンバがありませんのエラーでした。
只、私が行ないたいのはユーザーコントロールから参照元プログラム
の情報を参照したいのですが可能でしょうか。
理由は最初の記述を補足いたしますと現状各アプリ(現状10個)に
同じステータスバーを使用してプログラム情報(ファイル名・ディレクトリ名)
を表示させています。今後同じレイアウトで30個ぐらいのアプリ作成の
計画があります。その際ステータスバーの部分は既存の分からコピー&貼り付け
を行なうのですが共通のユーザーコントロールを作成することにより
既存からのコピー&貼り付け処理、ステータスバーに関するコーディングの
手間をへらしたいというのが狙いです。
長々となって申し訳ございませんでした。
ユーザコントロールのParentで取れませんか?
VB6ないので確認できず。
参照元プログラムにて
ユーザーコントロールコンポーネント名.Parent.ステータスバー名.Panels.Item(1).Text = App.EXEName
としましたが初期値のまま表示がかわりませんでした。
うーん……単純に、アプリにOCXを貼り付けて、そのOCX内でexeファイル名を
表示したい、って事ですかね?
OCX作ったことが ほとんど無いので、憶測っぽい(更に言えばムリヤリっぽい)ですが、
・OCX側で「プロパティとして」親アプリのファイル名を付けられるようにし、
表示可能なように作りこむ
・OCXを貼り付けたアプリ側でForm_Loadか何かのタイミングで、
上記のプロパティを設定
……で、とりあえず回避できるのでは?
でも、あんま美しくないですね……
解決しましたので報告致します。
方法としてもう一度ユーザーコントロールを再作成に
最初はユーザーコントロールして作成したのを
再作成はactiv xコントロールインターフェースウィザード
で再作成を行なうと半自動的にプロパティを作成してくれました
そうすると参照元プログラムからユーザーコントロールの
プロパティを参照することができました。
大変お世話になりました。
ツイート | ![]() |