こちらは初めての投稿です。
宜しくお願いします。
早速ですが。質問させて下さい。
VC++(2008) MFC での開発です。
CEdit のサブクラスで、タイトルのように下付のキャレットを表示したいと思っていま
す。
Editの高さいっぱいのキャレットは表示出来ますが、例えばEditの高さが48ドットでキ
ャレットの高さを2ドット、表示の縦位置46ドット目を設定しても、Edit内の上部0ドッ
トの位置に表示されます。(つまり上付、但しキャレットの高さは2ドット)
[abc_]<---こうしたいけど(アンダーラインがキャレット)
[abc~]<---こうなる(チルダがキャレット)
ソースは以下の通りです。
----------------------------------------------------------------------
CPoint pCaret = GetCaretPos();
pCaret.y = 46;
CreateGrayCaret(48, 2);
SetCaretPos(pCaret);
CEdit::ShowCaret();
----------------------------------------------------------------------
何か記述や設定が足りないのか、何か勘違いをしているのか解りませんが…
どなたか、解決方法を御存知の方、お見えでしたら御教授下さい。
宜しくお願いします。
EditはMM_TEXTだから当然かも。
素直にCreateCaret( ビットマップ」)を使ってみたらどうでしょう。
「ビットマップ」はフォント高に合わせて動的に作成する必要があるでしょう。
仲澤@失業者 さん、ありがとうございます。
正直今ひとつ釈然としませんが、pCaret.x も明示的に指定してやったら、希望の場所に
表示出来ました。
とりあえず、これで作業を進めますが、問題があるようなら、御指摘通り CreateCaret
を試してみたいと思います。
お騒がせしました&ありがとうございました。