教えていただきたいです

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

教えていただきたいです

#1 投稿記事 by OUT »

コード: 全て選択

dim a As HWND
dim b as Long
dim c as string
dim d as HWND
dim e as String

a=GetDlgItem(hMainWnd,EditBox1)
b=GetWindowTextLength(a)
GetWindowText(a,c,b+1)

d=GetDlgItem(hMainWnd,Static2)
e=MakeStr(c)
SetWindowText(d,e)
というプログラムを組んでも
Static2にStatic1のテキストが表示された後に
良く分からないコードウインドウが開いてしまいます
何がいけないのでしょうか?
Ver4.11.02 です
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

Re: 教えていただきたいです

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

まず,変数名をaとかbとかにしていると後で見返したときに,
わけのわからないことになるのでやめたほうが良いです。
aはhwndEditBox1, cはstr, dはhwndStatic2という風にそのままの名前で十分です。
(bとeは不要になります)

> GetWindowText(a,c,b+1)
残念ながらGetWindowTextはString型に対応していません。

そこで前に私が投稿したGetWindowTextStrを使います。
> b=GetWindowTextLength(a)
> GetWindowText(a,c,b+1)
この2行を次の1行にしてみてください。(変数bは使わなくなります)

コード: 全て選択

GetWindowTextStr(a, c)
http://www.discoversoft.net/forum/viewtopic.php?t=432
上のページの中の「ここをクリックするとコードが表示されます」
をクリックして出てくるコードをなるべく見えないふりをしながら,
自分のプロジェクト内の「TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。」の下の辺りへコピーしてください。

> e=MakeStr(c)
> SetWindowText(d,e)
これは単にSetWindowText(d, c)で平気です。
OUT

ありがとうございます

#3 投稿記事 by OUT »

教えていただいたコードを使った結果
上手く表示させる事が出来ました
本当にありがとうございました
返信する