都道府県穴埋めゲーム

を使って
hEdit = CreateWindow("EDIT",NULL,WS_CHILD|
WS_VISIBLE|ES_WANTRETURN|ES_MULTILINE|
ES_AUTOVSCROLL|WS_VSCROLL|ES_AUTOHSCROLL| WS_HSCROLL,
0,0,rc.right,rc.bottom,hWnd,(HMENU)ID_EDIT,
hInst,NULL);
として
char Str[1048576]にテキストをおさめ
SetWindowText(hEdit,Str);
とすればスクロール関数も使う必要なくカレットもでて文字を簡単に編集できるのですが

テキストビューワならば文字を変更する必要が無くカレットもでると困るのでこれが使えません
また↓や↑で1行スクロールしないといけません
(エディタの場合はカレットが上下端にきたときにスクロールだからちょっと違う)
DrawTextだとスクロール関数を使わないといけないような気がするし・・・
見るだけのテキストビューワを作るのに適した方法やC言語SDK関数を教えてください

A 回答 (2件)

なぜそこまでエディットボックスのスタイルを


分かっていながら・・・
ES_READONLYを見落としてますよ。

>テキストビューワならば文字を変更する必要が無くカレットもでると困るのでこれが使えません

私はキャレットは出たほうがいいと思いますよ。
文字列をコピーすることを考えれば。

消すんであれば、HideCaret()です。

この回答への補足

あ、思いつきました
ブラウザでテキストを読むようなものを作りたいのです
↑と↓で1行スクロールし
pageupとPageDownで数行スクロールし
不感帯がない
しかも変更できない
欲を言えばリンクに飛んでいく
(文章内のみ、できなくてもよい)
このようなものはエジットコントロールでできるのでしょうか?

補足日時:2003/05/27 18:53
    • good
    • 0
この回答へのお礼

ありがとうございます
スタイルを変えるだけでいいとは知りませんでした
マイクロソフトはスタイルがいっぱいあるので困ってしまいます
スタイル集のサイトでもあったらいいのですが・・・
ともかくエディットでいけそうだということなのでそれでやってみます

お礼日時:2003/05/27 02:02

色々なご要望、できないことは無いと思います。



エディットコントロールではないのですが、より機能が増えたリッチエディットコントロールでそんな機能を実現
しているアプリなら見ますよ。

個人的に使っているものではAL-Mail32のメールビューのウィンドウ。
http://で始まるurlは色が変更されていて、ダブルクリックでリンク先が開きます。

もちろん、Pageup、Pagedown、上下も効きます。

参考URL:http://www.almail.com/
    • good
    • 0
この回答へのお礼

ありがとうございます
やはりエジット目的から逸脱したビューアでは自分で
keydownメッセージを処理し
スクロール系関数を使って
手作りすべきですね

お礼日時:2003/05/28 17:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!