|
▼コントロール | ▼シェル | ▼システム | ▼INI操作 |
▼グラフィック | ▼その他 |
UNIX や Windows3.1
の影響でたまに見かける、『メニューの右寄せ』を実現する関数です。
普通に作成したメニューをベースに、右寄せ属性を付加して上書きします。
使用したAPI : GetMenu , GetSubMenu , GetMenuString , ModifyMenu
ListBox
に適切なサイズの水平スクロールバーを設定する関数です。
横幅に入りきらない長い文字列を設定したい場合などにどうぞ。
使用したAPI : GetDC, ReleaseDC, GetTextExtentPoint32, SelectObject,
SendMessage
ファイルのコピー、削除をAPIを使って行う関数です。
VB標準の FileCopy,Kill
ステートメントと比べ、サブフォルダを含めての操作、
上書きの確認、ごみ箱への削除が可能など様々なメリットがあります。
どこのサイトに行っても置いてあるFAQのようなサンプルですね。
使用したAPI : SHFileOperation
関連付けされたアプリケーションでファイルを開く関数です。
これまた定番の処理として有名ですね。
しかしながら、引数に「http://〜」を指定することでブラウザが起動したり、
「mailto:〜」でメーラが起動することなどは案外ご存じない方もいるようです。
使用したAPI : ShellExecute
My Documents
やデスクトップなどの、特殊フォルダの物理的なフルパスを返す関数です。
API 1発コール!では済まないのでちょっと大変です。
使用したAPI : SHGetSpecialFolderLocation , SHGetPathFromIDList ,
CoTaskMemFree
Windows フォルダ、および System
フォルダを取得する関数です。
こちらは API 1発コール!で済むので簡単です。
使用したAPI : GetWinDir , GetSysDir
OS の種別やバージョンを取得する関数です。
VB
のプロシージャとしてのラッピング方法が思いつかなかったので、
単なる API 呼び出しの紹介に留めてあります。
95 と NT で処理を分岐させたい場合などにどうぞ。
使用したAPI : GetVersionEx()
壁紙を変更する関数です。
「中央/並べて」の表示方法が選択できます。
また、壁紙の更新をシステムに記録するかどうかを選択できます。再起動時に
反映したくない場合は、記録しなければ一時的な壁紙変更が行えます。
使用したAPI : SystemParametersInfo , RegOpenKeyEx ,
RegSetValueEx , RegCloseKey
INIファイルからのデータ読み出し関数です。
個人的にレジストリを使うのは嫌いなので、私は多用しています。
OSだけ消してもINIは残るし、同じパスに置いておけば保存も削除も楽ですしね。
使用したAPI : GetPrivateProfileString
INIファイルへのデータ書き込み関数です。
ちなみに、INIファイルというのは古い規格なので、いずれサポート外となって
このAPIも使えなくなる可能性があるのでご注意ください。
使用したAPI : WritePrivateProfileString
ファイル名や拡張子から関連アイコンを取得し、ピクチャーボックスなどに表示する関数です。
使用したAPI : SHGetFileInfo , DrawIconEx , DestroyIcon
整数からアルファベット順で算出した文字への変換関数、ならびにその逆関数です。
1は"A"、2は"B"、…と続き、"Z"の次には"AA"が対応します。
単純な計算ですが、よく使う処理なので関数化しました。
私は Excel のカラムを求める時などに使っています。
文字列をデリミタを指定して分割し、配列で返す関数です。
VB6からは標準関数としてサポートされた機能ですが、私は未だ
VB5を使っているので、自分用に作りました。
オプションとして、スペースのトリムや空文字の無視などが出来ます。
ファイルの内容をバイト単位で反転させる関数です。
内容を見ればバレバレなんですが、単純なファイルの暗号化などにどうぞ。
ファイル名を表す文字列を操作する、こまごまとした関数です。具体的な内容は、
ExtractFilePath() :
フルパスから、ファイル名部分を除いた文字列を返す
ExtractFileName() : フルパスから、ファイル名部分のみを返す
ExtractFileExt() : フルパスから、拡張子部分のみを返す
ChangeFileExt() :
フルパスの、拡張子部分のみを別の拡張子に置き換えて返す
となっています。Delphi にある同名関数を VB
で自作したものです。
ちょっと毛色を変えて Windows CE Toolkit for
VisualBasic 6.0 ( 以下 VB-CE ) 用の関数など。
VB-CE では DoEvents() 関数がサポートされていないので、API
を駆使して同機能のものを作ってみました。
VB-CE だけではなく、VC++ で DoEvents
したい方も参考にどうぞ。
使用した API : PeekMessage , TranslateMessage , DispatchMessage