tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルAutoSizeプロパティ
記事No14022
投稿日: 2009/09/08(Tue) 20:05
投稿者はてなん
再びお世話になります。
今度は縮小してPicture1にPaintPictureで貼り付けた画像に合わせて枠のサイズを変更
したいのですが、直接読み込んだ画像の場合はちゃんと読み込んだ画像に合わせて変更
してくれるのに、PaintPictureで貼り付けだ画像の場合はAutoSizeプロパティをTureに
しても変わりません><
このプロパティは、PaintPictureで貼り付けた画像には合わせて動いてくれないもの
なのでしょうか?

よろしくお願いしますm(_ _)m

[ツリー表示へ]
タイトルRe: AutoSizeプロパティ
記事No14023
投稿日: 2009/09/08(Tue) 20:28
投稿者魔界の仮面弁士
MSDN Library のディスクは見つかりましたか?
掲示板をヘルプ代わりにするわけにも行かないでしょうし、
頑張って探し出してくださいね。


> このプロパティは、PaintPictureで貼り付けた画像には合わせて動いてくれないもの
> なのでしょうか?

働きません。

AutoSize プロパティは、「Picture プロパティ」の画像に対して作用するものです。
(Picture とは、描画キャンパスの下地となる『背景画像』を意味しています)

しかし PaintPicture による画像描画は、「Image プロパティ」に影響を与えます。
Image はすべての描画結果であり、背景と前景の両方を含んだ画像データです。

PaintPicture などの描画処理というのは、描画キャンパスの上に描くのであって、
キャンパスそのものを取り換えているわけではありません。そのため、AutoSize を
変更したとしても、キャンパス自体のサイズは変更されないのです。


もしもサイズ変更が必要なのであれば、Picture オブジェクト――すなわち、
No14018 の例でいうところの変数 P ――の Width / Height プロパティから、
元画像の高さと幅が得られますので、それを元に、PictureBox のサイズを
調整してみてください。


ただし、それぞれの Width / Height は単位系が異なるので、
変換作業が必要となる事に注意してください。

Picture オブジェクトの単位系は、HiMetric です。(0.01 ミリメートル単位)

一方、PictureBox コントロール側の Width / Height は、初期設定では
Twip 単位系です。(1 センチメートル = 567 twips、1 インチ = 1440 twips)

なお、コントロールの単位系は、フォーム(あるいは親コントロール)の
ScaleMode 等で変更できます。(Picture オブジェクトの単位系は変更できません)

[ツリー表示へ]
タイトルRe^2: AutoSizeプロパティ
記事No14024
投稿日: 2009/09/09(Wed) 11:01
投稿者はてなん
魔界の仮面弁士さん、ご教授ありがとうございました。
おかげで疑問が解決しました。

ところで…
> MSDN Library のディスクは見つかりましたか?
> 掲示板をヘルプ代わりにするわけにも行かないでしょうし、
> 頑張って探し出してくださいね。
僕のは内定をもらったときに会社から送られてきたディスク内のものをインストール
しただけで、そのときに、そのディスクと他のディスクも確認しましたがMSDN Library
のディスクはありませんでした(泣)

[ツリー表示へ]
タイトルRe^3: AutoSizeプロパティ
記事No14025
投稿日: 2009/09/09(Wed) 16:51
投稿者魔界の仮面弁士
> 僕のは内定をもらったときに会社から送られてきたディスク内のものをインストール
> しただけで、そのときに、そのディスクと他のディスクも確認しましたがMSDN Library
> のディスクはありませんでした(泣)

ディスクの構成を教えていただけますか?

付属メディアは購入時期やエディションによっても差がありますが
10枚弱〜20枚以上というディスク枚数になるかと思います。
http://www.microsoft.com/japan/msdn/vs_previous/vstudio/VS6/pack/vspack_e.htm
http://www.microsoft.com/japan/msdn/vs_previous/vstudio/VS6/pack/vspack_p.htm

ただし VB6 本体だけならば、ディスク 1 枚で事足りるため、
会社側が、意図的に送付していないという可能性もあるかと思います。

会社側が送付を忘れている可能性もあるでしょうから、その会社の
担当者に連絡してみてください。CD-ROM 3枚組になるかと思います。



ちなみに MSDN Library の場合、会社側が「MSDN サブスクリプション」の
契約をしている場合には、定期配布版の MSDN Library があるかと思いますので、
それを利用できます。MSDN サブスクリプション契約の有無を、その会社に
問い合わせてみてください。VB6 対応版の最終リリースは、2001年10月版の
MSDN ライブラリですので、もしあれば、その送付を依頼してみてください。

また、メディアが無い場合には、下記からダウンロードすることもできますので、
貴方にダウンロード権があるかどうかも、併せて問い合わせておくと良いでしょう。
http://msdn.microsoft.com/ja-jp/subscriptions/dd179326.aspx



しかし会社側が MSDN サブスクリプションの契約を結んでいない場合、
定期配布版のメディアや、上記ダウンロードサービスは利用できません。

その場合でも、Visual Basic 6.0 あるいは Visual Studio 6.0 に付属している
「MSDN Library for Visual Studio 6.0」のディスクを利用する事ができます。
定期配布版のライブラリと違って、その内容は更新されていませんが、
通常の開発であれば、ほとんど問題にはならないと思います。


なお、VB6 は旧製品ゆえ、ディスクを新規購入できるようにはなっておりません。
はてなんさんがお使いの物は、「今まで未使用だったパッケージ」か、
「以前、前任者が利用していた物を譲渡されたもの」のいずれかと予想されます。

未使用ならば、一部のディスクのみが欠如するような状況は考えにくいですし、
譲渡品であれば、一部の付属品のみを部分譲渡するような行為は許諾されていませんので、
いずれにしても、会社側で保有されていなければならないはずです。

# 会社側でメディアを紛失してしまっている場合や、使用許諾契約に抵触するような
# ライセンス運用をしているような場合には、どうしようもありませんが…。

[ツリー表示へ]
タイトルRe^4: AutoSizeプロパティ
記事No14026
投稿日: 2009/09/09(Wed) 23:12
投稿者はてなん
> ディスクの構成を教えていただけますか?
送られてきたのは…

@Visual Basic 6.0 本体のみが入ったインストールディスク
A研修課題の入ったディスク

の2枚です…。
同じ会社から内定をもらった友人も僕と同じことで困っていたことがあったので、
@はおそらく製品版のコピーディスクか何かだと思います…。
ちなみにディスクは借りていただけなので、2枚とも会社に返しました。

[ツリー表示へ]
タイトルRe^5: AutoSizeプロパティ
記事No14027
投稿日: 2009/09/10(Thu) 11:02
投稿者魔界の仮面弁士
本体と研修課題だけですか?
ヘルプ無しで開発するというのも、随分と厳しい話ですね。

ドイツ語やフランス語など、新しい言語の読書きを学ぶ時には、
辞書や参考書を必要とする物ですが、プログラム言語であっても、
そのような参考資料は必須だと思います。

一通りの機能を暗記しているなら、ヘルプ無しでも開発することは
できるでしょうけれども……今の段階でそれは無理でしょうし。
やはり、会社にヘルプ(MSDN Library)を要求するべきかと思いますよ。



> Visual Basic 6.0 本体のみが入ったインストールディスク
VB 本体は確かに、最低限それ 1 枚あればインストールできるでしょうね。

ところで、お使いの VB6 のエディションは何でしょうか?
中には確かに、ディスク枚数が少ないエディションもありますが、体験版(評価版)でも
無い限り、流石に一枚きりで構成されたパッケージは無かったと思うのですが…。

# なお、先に MSDN Library が CD 3 枚組であると書きましたが、
# 場合によっては CD 2 枚組という場合もあるようです。


> おそらく製品版のコピーディスクか何かだと思います…。
コピーディスクかも知れませんが、必ずしもそうであるとも限りませんよ。

たとえば会社側が、下記のダウングレード権によってライセンスを購入していた場合、
http://www.microsoft.com/japan/msdn/vstudio/2008/purchase/downgrade.aspx
》 (各ユーザーがインターネットより iso イメージをダウンロード可能)
と書かれているように、『ダウンロード』で入手した物なのかも知れませんから。

そもそも、一つの VB6 パッケージを複数の開発者が共有利用する事は認められていません。
つまり、会社側が貴方に VB6 を使わせようとするならば、貴方のために用意された
ライセンスが必ず存在しているはずです。ただし会社側が、その VB6 を Microsoft から
ダウンロード入手していた場合には、会社側が単に、まだヘルプ(MSDN Library)を
ダウンロードしていないだけという状況もありえる話かと思いますけれども…。


いずれにせよ、会社にきちんと問い合わせて、ヘルプを入手する事を検討すべきでしょう。


その結果、どうしても入手できないという場合には、オンライン版の
Visual Studio 6.0 向け MSDN Library を利用する事もできます。
http://msdn.microsoft.com/en-us/library/aa338033%28VS.60%29.aspx

検索しにくい上に、今となっては日本語版のサイトが閉鎖されてしまっており、
英語版の資料しか残っていないため、流し読みするために使うのは難しいですが、
オブジェクトやメソッドの意味を調べるために使う程度であれば、どうにか使えるでしょう。

[ツリー表示へ]
タイトルRe^6: AutoSizeプロパティ
記事No14031
投稿日: 2009/09/10(Thu) 17:04
投稿者はてなん
>ドイツ語やフランス語など、新しい言語の読書きを学ぶ時には、
>辞書や参考書を必要とする物ですが、プログラム言語であっても、
>そのような参考資料は必須だと思います。
書き忘れました><
研修課題の入っていたディスクには参考資料も一緒に入っていました><

> ところで、お使いの VB6 のエディションは何でしょうか?
調べてみたところ、「Microsoft Visual Basic 6.0 Enterprise Edition」のようです。

[ツリー表示へ]
タイトルRe^7: AutoSizeプロパティ
記事No14032
投稿日: 2009/09/10(Thu) 21:02
投稿者魔界の仮面弁士
> 研修課題の入っていたディスクには参考資料も一緒に入っていました><
その資料がどのような内容であるのかは分かりませんが、それが
ヘルプの代わりとなる程度の情報量を備えているのであれば、
開発を続けていく上で、特に問題は無さそうですね。

むしろ、MSDN Library には分かりにくい表現も多いので、
もしもその参考資料が分かりやすい物であるのならば、
現段階では、ヘルプよりもむしろ有難いかも知れません。
(最終的には、いずれヘルプにも目を通しておいた方が望ましいですけれども)


> > ところで、お使いの VB6 のエディションは何でしょうか?
> 調べてみたところ、「Microsoft Visual Basic 6.0 Enterprise Edition」のようです。
だとしたら、MSDN Library は 3 枚組みだと思います。



ところで先の No.14017 のスレッドにあった、縦横比を維持したまま
拡大・縮小表示するという件については、解決されましたでしょうか?

[ツリー表示へ]
タイトルRe^8: AutoSizeプロパティ
記事No14033
投稿日: 2009/09/11(Fri) 17:02
投稿者はてなん
> ところで先の No.14017 のスレッドにあった、縦横比を維持したまま
> 拡大・縮小表示するという件については、解決されましたでしょうか?

報告遅れました。無事に解決しました。
No.14017 のスレッドの件、いろいろとご教授いただきありがとうございました。

[ツリー表示へ]