Visual Basic for Windows 3.0 (VB と呼ばれます) は、現在、WINDOWS アプリケーション ソフトウェアを開発するための最も効果的なツールの 1 つであり、BAIC 言語と新しいビジュアル デザイン ツールを包括的に使用しています。強力であるだけでなく、習得も簡単です。第 2 に、VB にはイベント駆動型プログラミング メカニズムがあり、WINDOWS グラフィカル環境の特性を最大限に活用し、開発者が強力なアプリケーションを迅速に構築できるようになります。
では、VBアプリケーションソフトウェアを開発する際に、VBの機能を最大限に拡張するにはどうすればよいでしょうか?これには、VB の最も強力で特徴的な部分をさまざまなレベルでうまく活用する必要があります。
●ダイナミックリンクライブラリを関数層で呼び出します。
●制御層でVBXを使用します。 ●他のアプリケーションはアプリケーション層で実行します。
1. 関数層で関数リンク ライブラリ (DLL) を呼び出します。
WINDOWS オペレーティング システムは、実際には多くの強力なダイナミック リンク ライブラリ (DLL) で構成されています。 VB は、一部のタスクは独自の言語の機能を超えていると考えているため、オペレーティング システムでこれらの DLL サブルーチンを直接呼び出す機能を提供しています。例: 通常の状況では、ウィンドウのコントロール メニューには、復元、移動、サイズ変更、最小化、最大化、閉じる、切り替えの 7 つの機能が用意されています。実際のアプリケーションでは、ウィンドウが設計されたサイズに従って表示されることが望まれますが、ユーザーはウィンドウ サイズを自由に変更したり、他のウィンドウに切り替えることはできません。そのためには、コントロール メニューを削除する必要があります。 「移動」と「閉じる」オプションを除くすべてのコントロールメニュー項目。このタスクを実行するには、まずフォームの MaxButton プロパティと MinButton プロパティを False に設定します。これにより、フォームの最小化および最大化ができなくなり、フォームを復元できなくなります。次に、フォームの Bordersstyle プロパティを 1-FixedSingle または 3-FixedDouble に設定します。これにより、フォームのサイズを変更できなくなります。ただし、VB 自体は「switch」オプションと 2 つの分割線を削除できません。幸いなことに、これは WINDOWSDLL を呼び出すことで簡単に実行できます。
通常、WINDOWSDLL を使用するには、最初に使用する DLL サブルーチンを指定する必要があります。使用する DLL サブルーチンは、グローバル モジュールまたはフォーム層の記述部分の 2 か所で指定できます。その形式は次のとおりです。
DeclareSub サブルーチン名 Lib "ライブラリ名" [Alias "エイリアス"] [([パラメータ])]
DeclareFunction サブルーチン名 Lib "ライブラリ名" [Alias "エイリアス"] [([パラメータ])] [AS データ型]
最初の形式はプロシージャに戻り値がないことを示し、2 番目の形式はプロシージャが値を返すことを示します。ライブラリ名が WINDOWS オペレーティング環境 (システム ディレクトリ内) のライブラリである場合、その値は式で使用できます。 「USER .EXE」、「KERNEL.EXE」、「GDI.EXE」などの場合は、この名前をライブラリ名として使用します。他のソースの DLL を使用している場合は、パスを含むファイル名を使用します (例: "C:WINDOWSBRUSH.DLL")。エイリアス (エイリアス) を使用すると、他の名前を使用してサブプログラムを呼び出すことができます。これは、外部サブプログラムの名前が VB の予約語と同じである場合に、パラメータ値と渡されるデータ型を参照する場合に特に便利です。サブプログラム。関数の戻り値のデータ型を指します。これは、Integer、Long、Single、Double、Currency、または String です。使用する DLL サブルーチンの説明は次のとおりです。
DeclareFunctionGetSystemMenu%Lib"User"(ByValhWnd%,ByValbRevert%)
DeclarefunctionRemoveMenu%Lib"User"(ByValhMenu%, ByValnPosition%, ByValwFlags%)
DLLサブルーチンを記述した後、DLLサブルーチンを実行する方法は、VBの一般的なプロシージャ(関数)を実行する方法と同じです。次に、Remove-Items-From-System という名前のプロセスを作成して、上の例で説明した関数を完了します。このプロセスでは、上で説明した 2 つの DLL サブルーチンが呼び出されます。
システムメニューから項目をサブ削除 (A-FormAsForm)
'フォームシステムメニュー文Bingを取得
HSysMenu=GetSystemMenu(A-Form.hWnd, 0)
'「移動」と「閉じる」を除くすべてのメニュー項目を削除します。削除するときは、最後のメニュー項目から開始する必要があります。
R=RemoveMenu(HSysMenu,8,MF-BYPOSITION)'スイッチの削除
R=RemoveMenu(HSysMenu,7,MF-BYPOSITION)'最初の分割線を削除
R=RemoveMenu(HSysMenu,5,MF-BYPOSITION)'2本目の分割線を削除
EndSub
このプロセスでは、次のコード行をフォームの Form-Load イベントに追加すると、「移動」オプションと「閉じる」オプションを除くフォームのすべてのコントロール メニュー項目を削除できます。
システムメニューから項目を削除
2. 制御層で VBX を使用する
VB の強力な機能の 2 つ目は、VBX の使用、つまりオープン性と無制限の拡張特性です。 VB ツールボックス (ToolBox) は、アプリケーション ソフトウェアの設計に必要なツールを含めるように最善を尽くしていますが、VB の機能を継続的に拡張するために、VB はサードパーティ開発者が必要なソフトウェアを設計するための開発ツール セット (CustomControlDevelopmentKit) を提供しています。コントロール。制御ファイル(ファイル拡張子は「.VBX」)を設計した後、メニューの「ファイル」項目から「ファイルの追加...」コマンドを選択すると、画面に「ファイルの追加」ダイアログボックスが表示されます。必要な VBX をダブルクリックします。 ファイル名を使用して VBX を VB に追加できます。これらのコントロールが VB にロードされると、VB はこれらの外部コントロールを元のツールボックスに追加し、他のコントロールと結合します。このテクノロジーがあるからこそ、VB は開発を続けることができ、VB でのプログラミングはより便利で、より速く、より効率的になります。これは、VB が他のプログラム開発環境と異なる主な特徴の 1 つです。 VB の発売以来、サードパーティ ソフトウェア会社は多数の新しいコントロールを設計してきました。ここでは、WINDOWS アプリケーションを開発する際に非常に役立つ VBX をいくつか紹介します。
●三次元制御Threed.vbx
コマンド ボタン、チェック ボックス、ラジオ ボタン、フレーム、プッシュダウン ボタン、パネルを含む 6 つの 3 次元コントロールが提供されており、これらのコントロールを使用することでフォームをより立体的にすることができます。
●グラフィックコントロール Graph.vbx
データをグラフィック コントロールに送信すると、グラフィック コントロールは 2 次元または 3 次元の円グラフ、ヒストグラム、およびトレンド グラフを描画し、印刷したりクリップボードにコピーしたりできます。
●通信制御 Mscomm.vbx
シリアル通信機能を提供し、シリアル ポート間でデータを送受信するために使用できます。
●データグリッドコントロール Truegrid.vbx
一般的なデータ表示テーブルとして使用することも、データベースとグリッドを接続することもでき、データベース ブラウザーやデータ表示を作成するのに最適なツールです。
2. アプリケーション層で他のアプリケーションを実行する
複雑で大規模なソフトウェアをコンパイルする場合、編集プログラムなど、比較的独立した完全な機能を備えた特別なプログラムが必要になることがよくありますが、これらのプログラムは通常、汎用的で人気があり、実際にテストされています。これらのプログラムを開発者が書き換えると、プログラムの作業負荷やデバッグ作業が大幅に増加するだけでなく、一般的なプログラムの機能に匹敵することが困難になります。明らかに、これらのプログラムを直接呼び出すことができれば理想的です。幸いなことに、VB には他のアプリケーションの呼び出しに使用できるシェル関数が用意されているため、VB の一部の機能を他のアプリケーションで直接実行できるため、プログラミング作業が大幅に軽減されます。
形式はシェル(コマンド文字列[,ウィンドウタイプ])です。
コマンド文字列は実行するアプリケーションの名前です。実行ファイルの拡張子は「.COM」、「.EXE」、「.BAT」、「.PIF」に限定されます。デフォルトの拡張子は .EXE ファイルです。ウィンドウ タイプは整数値であり、プログラムの実行時の表示ウィンドウ スタイルに対応します。次の 5 つの選択肢があります。
ウィンドウタイプの値
ウィンドウタイプ 1、5、9
通常のウィンドウ、ポインタ 2
ポインタを含む最小ウィンドウ (デフォルト) 3
最大ウィンドウ、ポインタ 4、8
通常のウィンドウ、ポインタなし 6、7
最小ウィンドウ、ポインタなし
シェル関数はアプリケーションの呼び出しに成功すると、実行中のプログラムの一意の ID を表すタスク ID (TaskID) を返します。
[例]
X=シェル("C:WINDOWS/NOTEPAD.EXE", 1)
このステートメントは、WINDOWS 添付ファイル内の NOTEPAD.EXE を編集プログラムとして呼び出し、ID 値を X に返します。 ->