コントロールのプロパティ

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
se
記事: 2
登録日時: 2005年8月23日(火) 14:03
お住まい: 神奈川

コントロールのプロパティ

#1 投稿記事 by se »

ABを使い始めて3日目です。
くだらない質問で申し訳ありませんが、どうか教えてください。
よろしくお願いします。

ABでは、VBのようにボタンのキャプションをプログラムの中から変更したり
EnableとかDisableにしたりなどできないのでしょうか?

 CommandButton1.Caption="なまえ"
 CommandButton1.Enable=True

のように。

また、コントロールのImageBoxに画像を表示するにはどのようにすれば
良いのでしょうか。
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

#2 投稿記事 by 7 »

クラスを使うことによって、CommandButton1.Caption="なまえ"、のようなことが可能です。

コード: 全て選択

Class CommandButton
Protected
	c_hWnd As HWND
	c_ID As Long
Public
	Sub CommandButton(ByVal hWnd As HWND,ByVal ID As Long)
		c_hWnd=GetDlgItem(hWnd,ID)
		c_ID=ID
	End Sub

	Sub ~CommandButton()
		c_hWnd=NULL
		c_ID=NULL
	End Sub

	Sub Caption(ByVal lpCaption As BytePtr)
		SetWindowText(c_hWnd,lpCaption)
	End Sub

	Sub Enable(ByVal bEnable As Long)
		EnableWindow(c_hWnd,bEnable)
	End Sub
End Class

Sub MainWnd_CommandButton1_Click()
Dim CommandButton1 As CommandButton(hMainWnd,CommandButton1)

	CommandButton1.Caption("なまえ")
	CommandButton1.Enable(FALSE)
End Sub
クラスを使わないのであれば、SetWindowText(),SetDlgItemText(),EnableWindow()をプログラムの中で使えば可能です。
これらの関数はActiveBasicのヘルプにも載ってますし、Win32APIを調べれば分かります。

ImageBoxに画像を表示するのはDISCOVERSOFTのWin32プログラミング講座を参考にしてはどうでしょう。
最後に編集したユーザー 7 [ 2005年8月24日(水) 00:51 ], 累計 1 回
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#3 投稿記事 by イグトランス »

ようするに普通は何でもAPI関数呼び出しでやりますが、自分でクラスを作ればコードをそれっぽい感じにすることもできるということです。
se
記事: 2
登録日時: 2005年8月23日(火) 14:03
お住まい: 神奈川

#4 投稿記事 by se »

7さん、イグトランスさん
ありがとうございます。
調べながらやってみます。
返信する