Windows API で Vb を拡張しよう


掲載している内容は、基本的にフリー扱いですが、転載は禁止します。
でも堅いことは言いません、抜粋して自由にお使い下さい。

ここに紹介するサンプルを使用して生じたいかなる障害、損害に対して
Spector2k は一切の責任を負わないものとします。


最終更新日:2001年8月4日

※ドライブ、フォルダ、ファイル操作

あのファイルはどこだっけ? SearchTreeForFile() imagehlp
子階層を含むディレクトリの作成 MakeSureDirectoryPathExists() imagehlp
スペシャルフォルダの求め方 SHGetSpecialFolderLocation() shell32
SHGetPathFromIDList() shell32
Windows,System,Tempフォルダの求め方 GetWindowsDirectory() kernel32
GetSystemDirectory() kernel32
GetTempPath() kernel32
ドライブレターの取得とドライブタイプ GetLogicalDrives() kernel32
GetDriveType() kernel32
初期化ファイル(.INI)の読み書き GetPrivateProfileSection() kernel32
WritePrivateProfileSection() kernel32

※メモリ関連

メモリ情報の取得 GlobalMemoryStatus() kernel32
メモリ内容の複写 RtlMoveMemory() kernel32
文字列ポインタを操作してのソート RtlMoveMemory() kernel32
timeGetTime() winmm

※描画処理関連

ベジェ曲線、ベジェ曲面 PolyBezier() gdi32
点線矩形の描き方 DrawFocusRect() user32
文字列を右寄せや中央揃えで出力(その1) GetTextALIGN() gdi32
SetTextALIGN() gdi32
文字列を右寄せや中央揃えで出力(その2) DrawText() user32
直線軌跡の座標の取得 LineDDA() gdi32
LineDDAProc()
レイヤードウィンドウの作成 SetLayeredWindowAttributes() user32
グラデーションの作成 GradientFill() msimg32

※画像処理関連

画像の透過処理(その1) BitBlt() gdi32
GetPixel() gdi32
SetPixel() gdi32
画像の透過処理(その2) GetPixel() gdi32
TransparentBlt() msimg32
画像の透過処理(その3) CreateEllipticRgnIndirect() gdi32
DeleteObject() gdi32
GetRgnBox() gdi32
OffsetRgn() gdi32
SelectClipRgn() gdi32

※コントロール(ウィンドウ)操作

複数コントロールを一括して移動 BeginDeferWindowPos() user32 SWP_NOACTIVATE
SWP_NOMOVE
SWP_NOSIZE
SWP_NOZORDER
DeferWindowPos() user32
EndDeferWindowPos() user32
GetTickCount() kernel32
コンボボックスのリスト幅を変更 SendMessage() user32 CB_SETDROPPEDWIDTH
リストボックスに横スクロールバーをつける SendMessage() user32 LB_SETHORIZONTALEXTENT
指定した幅、高さをもつウィンドウの作成 AdjustWindowRectEx() user32 GWL_EXSTYLE
GWL_STYLE
GetClientRect() user32
GetWindowLong() user32
MDI子ウィンドウのカスケード、タイル表示 CascadeWindows() user32 GW_CHILD
GW_HWNDNEXT
MDITILE_HORIZONTAL
MDITILE_SKIPDISABLED
MDITILE_VERTICAL
GetClassName() user32
GetClientRect() user32
GetWindow() user32
TileWindows() user32
APIを使ってツールチップコントロールを拡張 CreateWindowEx() user32
InitCommonControls() comctl32
タイマーを止めないメッセージボックス MessageBox() user32

※マウス操作

マウスホバー、マウスリーブの実装 ReleaseCapture() user32
SetCapture() user32

※サブクラス化

スクロールバーのサブクラス化 CallWindowProc() user32 WM_VSCROLL
GetWindowLong() user32
SetWindowLong() user32
マウスホイールの回転イベントの取得 CallWindowProc() user32 WM_MOUSEWHEEL
GetWindowLong() user32
mouse_event() user32
SetWindowLong() user32

※メッセージ処理

アイドルイベントの実装 PeekMessage() user32



これらのサンプルを使用しての感想や、質問は 掲示板や、 らくがき帳に書きとめて頂けるとうれしいです。



インデックスに戻る


e[NECir Yahoo yV LINEf[^[z500~`I
z[y[W NWbgJ[h COiq@COsI COze