• ベストアンサー

VCで作成するDLLからVBのピクチャーボックスの操作

お世話になっております。 VCで作成したDLLをVBに読み込み、 VB上のピクチャーボックスの幅・高さを取得したいのですが、 どのようにすればよろしいのでしょうか…。 お手数かけますm(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • don_go
  • ベストアンサー率31% (336/1059)
回答No.1

通常はDLL内の処理をVBからCallして、その結果を受取る形 になるので、Callする際にB上のピクチャーボックスの幅・高さを 渡せばすむ話の様に思いますが?

GomiYasiki
質問者

お礼

早速のご返答、有難う御座います。 実際には、VB上のコントロールのハンドルを取得し、 プロパティの値を操作するような事が出来るのかと思い、ご質問致しました。 素人的な質問で、スミマセン…

関連するQ&A

  • VC++6.0からVBで作成したActiveX.DLL内の関数が呼出しできない

    VB6.0で作成したActiveX.DLLをVC++6.0(Win32SDK)側で 呼び出すプログラムを作成中です。 VB側(DLL)では問題なく作成できています。 Classに1つPublic関数を作成しただけです。 (Instancingは5MultiUseにしてあります) しかし、VC++側の呼出しでDLL内の関数が 呼び出せないのです。 LoadLibraryExでDLL自体のハンドルは取得できるのですが GetProcAddressで関数の取得時にNULLが返ってきてしまいます。 今まで試したことは ・VBからの呼出しはOK ・MFCだとOK ・SDKでもuser32.dll呼出しのサンプルは関数も実行できる です。 今からMFCへ以降するのは厳しいのでSDkでの方法を 知りたいです。 VB側が悪いのかもしれませんが、関数1つですし、 いじるところもほとんどないので多分VC++側だと 思っています。 なにか注意点とか確認するところをおしえていただければ 幸いです。 環境 Windows2000 SP3 VB6.0 SP5 VC++6.0 SP5 Win32SDK

  • VB6で作成したDLLをVC6で使用する方法

    VB6で作成したDLLをVC6で使用できなくて困っています。 以下にトライしたことを示します。 (1) VB6でTRUEを返すだけの関数を入れたActiveX DLLを作成 (2) VC6のLoadLibraryに成功(戻り値がNULL以外) (3) VC6のGetProcAddressに失敗(戻り値がNULL) (4) VC.NET付属のDumpbinユーティリティでは(1)で作成した関数が表示されない。 何が悪いのでしょうか。 宜しくお願いします。

  • VB6からVC6で作成したDLLの関数を呼び出すときに注意すること

    VB6からVC6で作成したDLLの関数を呼び出すときに、型について気をつけないといけませんが、VB6でint型のものはVC6ではshortにしないといけないのでしょうか?マシンやOSや開発環境(例えばVS2005やGCC)により違ってくるのでしょうか? VB6とVC6でやり取りする場合の型について知りたいです。 あと、ActiveXのDLLの場合は関数にアクセスするのではなく、COM(という概念がわかっていないのですが)を使うのですか?

  • VC++で作成したDLLをVBから呼ぶと戻り値が化けてしまう

    はじめまして。いつも勉強させていただいております。 VCは今回初めてやっておりますので当たり前の質問 になってしまうかもしれませんがご教授願います。 以下のような仕様でものづくりを行っております。 1.VBよりVC++で作成したDLLを呼び出す。 2.VC++で作成したDLL側ではパラメータより取得した   値を元に足し算をした結果を   戻り値にセットして要求元に返却する。 といった流れで考えています。 2の部分についてはExeを一度作成し実行させた ところDOS窓に値が表示されました。(printfで) しかし、正しくOUTPUTされた値がVB側の戻り値と して返却された時点で参照すると「-6348」 となっています。 なぜこうなってしまうのか原因がわからず投稿 させて頂きました。 ご存知の方、ご教授下さい。 ************************************************* VC++ DLL側のソース ************************************************* #include <windows.h> #define DLL_EXPORT __declspec(dllexport) extern "C" { DLL_EXPORT int add(int a,int b); } int add(int a,int b) { return a+b; } ************************************************* VB  DLL呼び出し元 ************************************************* Option Explicit Private Declare Function add Lib "C:\Program Files\Microsoft Visual Studio\test\Debug\test.dll" Alias "_add@8" (a As Long, b As Long) As Integer Private Sub Command1_Click() Dim ret As Long ret = add(1, 2) MsgBox ret End Sub 環境 OS:WinXP 言語:VC++6.0    VB6.0(SP6)

  • VCで作成したDLLの使用

    VCで作成したDLLの使用 VC6.0で作成されたDLLファイルを使いたいのですが _stdcallで記述されたものではなく DllMainで記述されたものなのですが、 VBから呼び出す事は可能でしょうか? 普通にdeclare functionで呼び出そうとすると、 「エントリfnchogeがDLLファイル hoge.dll内に関数が見つかりません。」 とエラーがでるだけでした。 VB6.0SP3 Windows2000

  • VB.NETで作成したDLLをVC++6で使用する

    タイトルどおりの質問です。 VB.NETで作成したDLLをVC++6で使用可能でしょうか。 当方設計をしておりますが、VB.NET,VCの知識がありません。 コーディングをする人間に指示しなければならないのですが、 どのような情報を与えればよいか、教えてください。 よろしくお願いいたします。

  • VC++6.0で作成したクラスをVB6.0で使うには?

    初めて投稿します。 プログラミング初心者の為、初歩的な質問になるかもしれませんがご容赦下さい。普段、主にVisual Basic6.0(以下VB6.0)でプログラミングを行なっています。 VB6.0には演算子のオーバーロードする機能がない(?)ため、Visual C++6.0(以下VC++6.0)でプログラミングを行い、VC++6.0で作成したクラスをVB6.0で呼び出して使用したいと考えています。 インターネット上でいろいろと調べてみたのですが、その方法がわからず投稿させていただきました。VC++6.0で作成したDLLの中の関数をVB6.0で呼び出して使用する方法はわかったのですが、クラスということになると、DLLでは無理なのでしょうか? どなたか、VC++6.0で作成したクラスをVB6.0で呼び出す方法、または勉強方法(教材)などを教えていただけると助かります。 宜しくお願いいたします。

  • VCやVBで作成したDLLがどのEXEから起動されているか知りたい。

    VBやVCで作成したDLLがそれぞれあります。 それぞれは複数のEXEから起動されます。 DLLの中でどのEXEから起動されたか知りたいんですが なにか方法はありませんか? 起動している関数などにパラメータを追加できない事情がありまして・・・ よろしくお願いします。

  • VC++6.0で作成したDLLのクラスをVB6.0でインポートするには?

    VC++6.0で作成したDLLのクラスをVB6.0でインポートするにはどうしたらいいのでしょうか? 通常の関数なら__declspec(dllexport) __stdcall を書き,defファイルにEXPORT指定することで解決できたのですが,クラスごとエクスポートする場合にはVC側,VB側の記述をどのようにすれば良いのでしょうか?

  • VC++のDLLファイルをVBで読み出せません。

    お世話になります。 プログラムをやり始めて3か月の初心者です。仕事で以下のような事をしていますが、うまくいかず悩んでいます。 プログラム(1):VB 2008年版 メインプログラム プログラム(2):C言語 2006年版 プログラム(3):VC++ VISUAL STUDIO2012 EXPRESSを使用 ■今のプログラム (2)のdllファイルを(1)で呼び出しています。問題なく動きます。 ■やりたい事 (2)のプログラム内容を変更したのが(3)です。そのdllファイルを(1)で呼び出したいです。 ⇒しかし、(3)のdllファイルを読み込むことができません。((3)のdllファイルは作れました。) (3)はVC単独では正しく動作します。 (1)のプログラムに、(2)を呼び出すときと同じように(3)用のプログラムを追加しました。作った(3)のdllファイルは指定したフォルダにきちんと入れています。 コンピューターに詳しい先輩が時間をかけてみてくれたのですが、結局わからずじまいでした。 ■質問 VBの型が古い、EXPRESSを使っているからできないのでしょうか? VCでdllを作って、VBで呼び出すまでの流れをわかりやすく紹介した書籍やWEBなどあればご教示頂けませんでしょうか? よろしくお願いいたします。