EditBoxに特定の文字を挿入
-
- 記事: 33
- 登録日時: 2006年5月22日(月) 21:01
- お住まい: 山口
- 連絡する:
> 「まるで分りません」ではこちらもまるで分りません。
> どこが理解できないのか、何を使って調べたのか、具体的に書いて下さい。
> あなたのメッセージからは「一から十まで懇切丁寧に教えて下さい」という事しか読み取れませんし、
> そういった質問方法は回答者にとって失礼です。
> 無記名ですし、「ABのプログラミング方法すら分らない」と取られても仕方ありません。
そうなんですけど、初心者というかプログラミング初めての方は仕方ないんじゃないでしょうか。
ActiveBasicの良い所の一つは、ユーザーがやたら優しいことだと思っていますし、自分が昔優しくしてもらったので優しくしようと一応、心がけています。
まぁマナーの問題なんでしょうけどね...。
自分の場合は、どんな質問方法でも特になんとも思わないんですけど、成長が感じられないとちょっと、なんか感じますね。
ということでエディットボックスに文字列を挿入する方法。
過去に自分がここの掲示板に置いて行ったコードを引っ張ってきてちょっと弄くりました。
> どこが理解できないのか、何を使って調べたのか、具体的に書いて下さい。
> あなたのメッセージからは「一から十まで懇切丁寧に教えて下さい」という事しか読み取れませんし、
> そういった質問方法は回答者にとって失礼です。
> 無記名ですし、「ABのプログラミング方法すら分らない」と取られても仕方ありません。
そうなんですけど、初心者というかプログラミング初めての方は仕方ないんじゃないでしょうか。
ActiveBasicの良い所の一つは、ユーザーがやたら優しいことだと思っていますし、自分が昔優しくしてもらったので優しくしようと一応、心がけています。
まぁマナーの問題なんでしょうけどね...。
自分の場合は、どんな質問方法でも特になんとも思わないんですけど、成長が感じられないとちょっと、なんか感じますね。
ということでエディットボックスに文字列を挿入する方法。
過去に自分がここの掲示板に置いて行ったコードを引っ張ってきてちょっと弄くりました。
[ここをクリックすると内容が表示されます]
コード: 全て選択
Function InText(ByVal hWnd As HWND,ByVal lpszReplace As LPCSTR,ByVal bUndo As BOOL) As LRESULT
InText=SendMessage(hWnd,EM_REPLACESEL,bUndo As WPARAM,lpszReplace As LPARAM)
End Function
' 使い方
Dim hEdit As HWND
hEdit=GetDlgItem(hMainWnd,EditBox1)
' 文字列を挿入、あるいは置換え
InText(hEdit,"Insert",TRUE)
-
- 記事: 33
- 登録日時: 2006年5月22日(月) 21:01
- お住まい: 山口
- 連絡する:
こんなのにコメントする自分はどうかと思うのですが・・・・
やっぱり、初心者には初心者らしく、質問する際は
・したいこと
・試してみたこと
・自分で書いた、(上手くいかない)ソースがあれば、それを出す
・できれば丁寧口調で
ってことをしてくれれば答える側としても答えがいがありますね。
一般的に嫌われると思われる質問は
・命令口調。
・自分で努力もせず、全部他人任せ。
・サンプルソースを提供して欲しいと連発する人。
とかでしょうか。こういう質問者は嫌われるかと。
・・・・・・と、言ってみたものの、結局は答える側が質問文をどう受け取るか、ですね。
できれば、質問者はできるだけ自分の質問の解決となるものを提供する。回答者はそれにそってアドバイス&回答をする。ってのが望まれるのかなぁ。
長文&身勝手な発言&質問と無関係な内容、大変失礼しました。m(_ _)m
やっぱり、初心者には初心者らしく、質問する際は
・したいこと
・試してみたこと
・自分で書いた、(上手くいかない)ソースがあれば、それを出す
・できれば丁寧口調で
ってことをしてくれれば答える側としても答えがいがありますね。
一般的に嫌われると思われる質問は
・命令口調。
・自分で努力もせず、全部他人任せ。
・サンプルソースを提供して欲しいと連発する人。
とかでしょうか。こういう質問者は嫌われるかと。
・・・・・・と、言ってみたものの、結局は答える側が質問文をどう受け取るか、ですね。
できれば、質問者はできるだけ自分の質問の解決となるものを提供する。回答者はそれにそってアドバイス&回答をする。ってのが望まれるのかなぁ。
長文&身勝手な発言&質問と無関係な内容、大変失礼しました。m(_ _)m
この流れに便乗して失礼します (^^;
ですから件の Indigo Visualist 様みたいな書き込みを見ると、そこはかとなく好感を持てます。
単なる罵倒や荒らしは論外ですが。
マナーの改善が必要なところはきっちりと注意することができる人が増えたらいいなと思う今日この頃。
ちょっと長いので、前置きと結論を分けて書くことにしました。 [ここをクリックすると内容が表示されます]
今は、ネット上はおろか現実でもこのように注意してくれる人が少なすぎると思います。(かといって、昔は多かったのかと訊かれると答えに詰まりますが)
僕は昔、一時期ネット上でも現実でも酷い時期がありまして。
いわゆる反抗期みたいなものなのかな、ちょっと事情が特殊ですが。
まぁ、僕の場合はメールでやらかしちまってたんですね。掲示板ではなくて。
事務的な連絡を除いて、当然、百通出せども百通とも返信無く。
それに合わせて、現実世界でも一人だけ浮いていました。(今も違う意味で浮きっぱなしですが:-p)
しかし、ある方(それなりに有名な方です)にメールを出したら、初めてちゃんとした返信を貰えたんです。
しかも強いお叱りの感想付きで。(先の Indigo Visualist 様以上にキツい口調でした)
その返信には言葉遣いやネット独特のマナー(ネチケット)など、細かい改善点が網羅されていました。
また、送信する前にもう一度読み直して推敲することも勧められました。
その一通の返信のおかげで、今の僕がいます。
少し態度を改善するだけで、たくさんの方とお話しすることができるようになりました。
いくらネット上のマナーとはいえ現実でも通じるところがありますから、人から相手にされなくなることも少なくなりました。
いわゆる反抗期みたいなものなのかな、ちょっと事情が特殊ですが。
まぁ、僕の場合はメールでやらかしちまってたんですね。掲示板ではなくて。
事務的な連絡を除いて、当然、百通出せども百通とも返信無く。
それに合わせて、現実世界でも一人だけ浮いていました。(今も違う意味で浮きっぱなしですが:-p)
しかし、ある方(それなりに有名な方です)にメールを出したら、初めてちゃんとした返信を貰えたんです。
しかも強いお叱りの感想付きで。(先の Indigo Visualist 様以上にキツい口調でした)
その返信には言葉遣いやネット独特のマナー(ネチケット)など、細かい改善点が網羅されていました。
また、送信する前にもう一度読み直して推敲することも勧められました。
その一通の返信のおかげで、今の僕がいます。
少し態度を改善するだけで、たくさんの方とお話しすることができるようになりました。
いくらネット上のマナーとはいえ現実でも通じるところがありますから、人から相手にされなくなることも少なくなりました。
ですから件の Indigo Visualist 様みたいな書き込みを見ると、そこはかとなく好感を持てます。
単なる罵倒や荒らしは論外ですが。
マナーの改善が必要なところはきっちりと注意することができる人が増えたらいいなと思う今日この頃。
挿入については解決したんでしょうか?
一応回答しておいたんですけど...。
> SetWindowText(GetDlgItem(hMainWnd,EditBox1),"文字")
> 上で文字を出す事は出来ましたが、複数行の場合はどのように変えればいいかわかりません。どのようにすればいいのですか?
文字列の中に「改行」を表すを文字を入れておけばオーケーです。改行コード。
他にもやり方は有るんですけど、初心者さんということでEx表記で作る文字列にしてみました。
ダブルコーテーションの前にExを付けて、ダブルコーテーションの中で\r\nを書けば改行されます。
一応回答しておいたんですけど...。
> SetWindowText(GetDlgItem(hMainWnd,EditBox1),"文字")
> 上で文字を出す事は出来ましたが、複数行の場合はどのように変えればいいかわかりません。どのようにすればいいのですか?
文字列の中に「改行」を表すを文字を入れておけばオーケーです。改行コード。
コード: 全て選択
' SetDlgItemText(hMainWnd,EditBox1,Ex"一行目\r\n二行目")
SetWindowText(GetDlgItem(hMainWnd,EditBox1),Ex"一行目\r\n二行目")
ダブルコーテーションの前にExを付けて、ダブルコーテーションの中で\r\nを書けば改行されます。
> 複数行の文字の挿入はできましたが、(7さん有難う御座います)
> 「今日は|寒い。」(|はカーソル部分)の|の所に「とても」を挿入しようとしたのですが、うまくいきません。
> 調べていて、↓を見つけてにゅうりょくしたのですが、入力されません。
> SendMessage(hEdit,EM_REPLACESEL,TRUE,"test")
>
> こちらの入力ミスなんでしょうか。
SendMessage(hEdit,EM_REPLACESEL,TRUE,"test")
でいいんですが、まず、「エディタ」のハンドルを取得しましたか?
していないと意味がありません。
そのあと、コンパイルしました?
僕もたまに忘れているんですが。。。
> 「今日は|寒い。」(|はカーソル部分)の|の所に「とても」を挿入しようとしたのですが、うまくいきません。
> 調べていて、↓を見つけてにゅうりょくしたのですが、入力されません。
> SendMessage(hEdit,EM_REPLACESEL,TRUE,"test")
>
> こちらの入力ミスなんでしょうか。
SendMessage(hEdit,EM_REPLACESEL,TRUE,"test")
でいいんですが、まず、「エディタ」のハンドルを取得しましたか?
していないと意味がありません。
そのあと、コンパイルしました?
僕もたまに忘れているんですが。。。