はじめまして。。。
VCで文字反転させたいのですが、やり方がわかりません。
VBではCelStartとCelLengthを使ってできるのですが
VCではどう書くかわかりません。
VC初心者なんでサンプルがあるとうれしいのですが・・・。
どなたかご存知の方がいましたら、よろしくお願いします。
元々の文字列と同じだけのメモリを確保して、
文字数を保持した変数と、確保したメモリの先頭を指すポインタ、
元々の文字列の最後の文字を指しているポインタを用意して、
元の文字列の方のポインタはデクリメント、確保したメモリのポインタはインクリメントしながら元の文字列から確保したメモリの方へコピーしていけばよろしいかと。
コピーを繰り返す回数は文字列の長さ分で。
(ただし、1バイト文字(ASCII文字)の場合だけですが)
終わったあと、確保したメモリは不要になった時に破棄する必要があります。
> VCで文字反転させたいのですが、やり方がわかりません。
「文字反転」というのは何を意味していますか?
> VBではCelStartとCelLengthを使ってできるのですが
> VCではどう書くかわかりません。
VBにCelStartやCelLengthというメソッド・プロパティetc.は無いと思いますが。
SelStartとSelLengthであれば,
EM_SETSELメッセージをコントロールに投げることで設定できます。
#取得はEM_GETSEL
サンプルって言われると困るんですけど
m_edit.SendMessage( EM_SETSEL,1,5);
みたいなことですか?
すいません、かぶりました。
リロードしてませんでした。
むぅ…
エディトボックスって場合を考慮していなかった(^_^;)
YuOさん、これ?さんフォローどうもです。
ありがとうございます。
>VBにCelStartやCelLengthというメソッド・プロパティetc.は無いと思いますが。
Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End Sub
でした。すいません
EM_SETSELメッセージをいまからやってみます。