コントロールの表示座標の移動方法

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
Papa

コントロールの表示座標の移動方法

#1 投稿記事 by Papa »

Static1の位置をプログラムにて移動させたいのですが、方法を教えてください。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 by konisi »

コード: 全て選択

SetWindowPos(GetDlgItem(hMainWnd,Static1),0,100,100,0,0,SWP_NOSIZE)
などとすれば表示位置を変更できる筈です。
第3引数と第4引数の値は適宜変更してください。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
Papa

#3 投稿記事 by Papa »

>>などとすれば表示位置を変更できる筈です。

動きました。ありがとうございます。

もう1つ、現在の場所を調べる方法も教えてください。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#4 投稿記事 by konisi »

コード: 全て選択

Sub MainWnd_CommandButton2_Click()
	Dim rc As RECT,pa As POINTAPI
	Dim buf[1023] As Byte'表示用
	'スクリーン座標の取得
	GetWindowRect(GetDlgItem(hMainWnd,Static1),rc)
	'クライアント座標(ウインドウ座標)へ変換
	pa.x=rc.left
	pa.y=rc.top
	ScreenToClient(hMainWnd,pa)
	'表示
	wsprintf(buf,Ex"Screen : %d x %d\r\nWindow : %d x %d",rc.top,rc.left,pa.x,pa.y)
	MessageBox(hMainWnd,buf,"pos",MB_OK)
End Sub
こんなコードを作ってみたのですが、説明は必要でしょうか?
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
Papa

#5 投稿記事 by Papa »

>>こんなコードを作ってみたのですが、説明は必要でしょうか?

十分です。
ありがとうございました。
返信する