はじめまして。
まったくの初心者でつい最近プログラミングを始めました。
とにかくBASIC言語になれようと、簡単なプログラムから作っています。
それで、"SendDlgItemMessage"関数を使用して、EditBoxに文字を送るときに、
半角ダブルクォートを送ろうとすると、
ダブルクォートの後に不正な文字が含まれています
このようなエラーが表示されます。
どうしたら、半角ダブルクォートをSendDlgItemMessage関数でEditBoxに送れるのでしょうか?
初歩的な質問ですが、宜しく御願いします。
もし、他のトピックスとかぶっていたらすみません。
ダブルクォートの表示
Re: ダブルクォートの表示
> はじめまして。
初めまして。主に初歩的な質問に回答している 7 です。
> どうしたら、半角ダブルクォートをSendDlgItemMessage関数でEditBoxに送れるのでしょうか?
エスケープシーケンスという機能があるのでそれを使うか、Chr$という関数を使ってダブルコーテーションを表示することができます。
エスケープシーケンスの利用が楽なのでその方法でやると以下のようになります。
文字列と認識させる為に "文字列" とダブルコーテーションで挟みますよね?
その前に Ex を付けるとエスケープシーケンスが使えるようになります。
で、" のエスケープシーケンスは \q になると。
質問の内容とは違うのですが、WM_SETTEXT を送るより、SetWindowText(), SetDlgItemText()関数を使った方が良いと思います。
初めまして。主に初歩的な質問に回答している 7 です。
> どうしたら、半角ダブルクォートをSendDlgItemMessage関数でEditBoxに送れるのでしょうか?
エスケープシーケンスという機能があるのでそれを使うか、Chr$という関数を使ってダブルコーテーションを表示することができます。
エスケープシーケンスの利用が楽なのでその方法でやると以下のようになります。
コード: 全て選択
SendDlgItemMessage(hMainWnd,EditBox1,WM_SETTEXT,0,Ex"\qダブルコーテーション\q" As LPARAM)
その前に Ex を付けるとエスケープシーケンスが使えるようになります。
で、" のエスケープシーケンスは \q になると。
質問の内容とは違うのですが、WM_SETTEXT を送るより、SetWindowText(), SetDlgItemText()関数を使った方が良いと思います。
コード: 全て選択
SetDlgItemText(hMainWnd,EditBox1,Ex"ダブルコーテーションは \q です。")
コード: 全て選択
Dim hEdit As HWND
hEdit=GetDlgItem(hMainWnd,EditBox1)
SetWindowText(hEdit,Ex"ダブルコーテーションは \q です。")