Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
図形の塗りつぶし
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9715#CommentId15339
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
よねKEN
 (社会人)
投稿日時
2010/7/30 14:48:22
> Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As IntPtr, _
> ByVal hObject As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean
上記の定義も間違っています。Windows APIの定義は以下のようになっています。
http://msdn.microsoft.com/ja-jp/library/cc410576.aspx
HGDIOBJ SelectObject(
HDC hdc, // デバイスコンテキストのハンドル
HGDIOBJ hgdiobj // オブジェクトのハンドル
);
SelectObjectの第二引数と戻り値はどちらも同じ型でGDIオブジェクトのハンドルですので、
以下のようにIntPtrで扱うのがよいでしょう。
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As IntPtr, _
ByVal hObject As IntPtr) As IntPtr
> Dim hNewBrush As Integer
> Dim hOldBrush As Integer
それに合わせて上記もIntegerの代わりにIntPtrを使うとよいでしょう。