ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 21:02

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 
作成者 メッセージ
 記事の件名: String型のGetWindowText
投稿記事Posted: 2005年11月04日(金) 17:17 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
 GetWindowText/GetDlgItemTextを使うときには事前にGetWindowTextLengthを使って文字列の長さを求めておき、
mallocなりZeroStringなりでメモリを確保する必要があり、面倒だったり混乱を招いたりしていました。
 そこで直接String型へ書き込む関数GetWindowTextStr/GetDlgItemStrなるものを作りました。

 どなたか既に書いていたような気がしなくもないのですが、検索しても見つからなかったので投稿しておきます。
 たとえばこういう感じに使います。(MainWndがあり、その上にボタン(ID:CommandButton1)とエディットボックス(ID:EditBox1)があるとします)
ボタンを押すとエディットボックスに書かれている内容がメッセージボックスに表示されると言うものです。
コード:
Sub MainWnd_CommandButton1_Click()
	Dim str As String
	GetGetDlgItemTextStr(hMainWnd, EditBox1, str)
	MessageBox(hMainWnd, StrPtr(str), "エディットボックスの内容", MB_OK)
End Sub
 GetWindowText/GetDlgItemTextでは文字列のバッファへのポインタとバッファのサイズという2つの引数を指定していましたが、
その代わりに直接String型の変数を指定できるようになっています。
 戻り値はGetWindowText/GetDlgItemTextと同じです。(文字列の長さ)

↓使うときにはこれをコピーしてください。 H17.11.27
文字列の長さをGetWindowTextの返す値を見て設定するように修正いたしました。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年9月29日(金) 09:57 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
現在のコードはAB4まででしか動きません。
AB5に対応させたのはこちらになります。
http://www.activebasic.com/forum/viewto ... =6607#6607


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: DotBot & ゲスト[14人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean