下付のキャレット(カレット)を表示したい – プログラミング – Home

下付のキャレット(カレット)を表示した...
 
通知
すべてクリア

[解決済] 下付のキャレット(カレット)を表示したい


もっち
 もっち
(@もっち)
ゲスト
結合: 15年前
投稿: 2
Topic starter  

こちらは初めての投稿です。
宜しくお願いします。
早速ですが。質問させて下さい。

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();
----------------------------------------------------------------------
何か記述や設定が足りないのか、何か勘違いをしているのか解りませんが…

どなたか、解決方法を御存知の方、お見えでしたら御教授下さい。
宜しくお願いします。


引用未解決
トピックタグ
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

EditはMM_TEXTだから当然かも。
素直にCreateCaret( ビットマップ」)を使ってみたらどうでしょう。
「ビットマップ」はフォント高に合わせて動的に作成する必要があるでしょう。


返信引用
もっち
 もっち
(@もっち)
ゲスト
結合: 15年前
投稿: 2
Topic starter  

仲澤@失業者 さん、ありがとうございます。

正直今ひとつ釈然としませんが、pCaret.x も明示的に指定してやったら、希望の場所に
表示出来ました。
とりあえず、これで作業を進めますが、問題があるようなら、御指摘通り CreateCaret
を試してみたいと思います。

お騒がせしました&ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました