掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
チェックボックスの操作について (ID:115315)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> Const BST_CHECKED = &HF1& いや、それだと値が間違っているような…? > BST_CHECKED は、Apiビューワーに宣言文が載っていなかったので、 > 要らないものとばかり思っていました. Win32 APIを使う場合は、定数(一般的に、すべて大文字です)にしても、 関数(大文字と小文字が区別されるので注意)にしても、 ユーザー定義型(他の言語では構造体と呼ばれます)にしても、 すべて宣言が必要になります。 # "Option Explicit"をモジュールの先頭に付けておくと、定数を # 宣言するのを忘れてしまった時に、エラーとして報告されるように # なりますので、今回のようなミスを事前に発見しやすくなりますよ。 > みなさんは、この宣言部分(&HF1& )どうやって調べているのですか? &HF1& なのは、BST_CHECKED ではなく、BM_SETCHECK ですよね。 VB6のAPIビューアも、VB5のAPIビューワも、「入力を補助するツール」であって、 ドキュメントではありませんから、そこに載っていないAPIも数多くあります。 (付属のWin32API.TXT等を書き変える事で、宣言項目を増やすことができます) 定数の値については、一般的には「C言語用のヘッダファイル(*.h)」を 参照して宣言する事になります。 (APIの多くは、C言語等から呼ばれる事を前提に設計されています) このヘッダファイルは、Platform SDK というパッケージ(無料です)に 含まれていますし、Visual Studio/Visual C++等にも含まれています。 たとえば、今回の BST_CHECKED の場合、『WinUser.h』というファイルにて 定義されており、その内容は #define BST_CHECKED 0x0001 と書かれています。これは VB でいえば、 Public Const BST_CHECKED As Long = &H1& に相当します。 APIビューア(というよりも、VB付属の Win32API.TXT)には、 間違いも幾つかありますし、載っていないAPIもありますから、 APIをある程度理解できるようになったきたら、ヘッダファイルを見て、 自分で「VBに翻訳する」ようにした方が確実かと思いますよ。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.