こんにちは、前に一度書いたものです。日数が経ってしまってすいませんでした。
今悩んでることを率直に聞いてみたいと思います。よろしくお願いします。
今SDI形式でタイピングソフトを作っているのですが、お題が表示され、その下に文字を書きこんでいくという画面でお題となる文字列を表示させるのは簡単なんですが、その下に直接文字を打ちこんでいくという作業がどうやっていいかわかりません。どんな関数を使っていいのかもわからないのでできれば詳しく教えてください。自分の中の考えでこの問題を解こうと考え付いたことはSDIからその画面だけダイアログを表示させてそこに入力させて、SDIにまた戻ってくるということなのですが、これが実現可能なのかとういことを今調べているのですが中々すすみません。そして、やはり文字列の直接入力はSDIでは難しいのでしょうか?
No.1ベストアンサー
- 回答日時:
文字を描画するのは
DrawText()
DrawTextEx()
TextOut()
などのAPIを使えば大丈夫でしょう。
色、大きさ、フォントなどを変えたい場合はデバイスコンテキストの操作をする必要があります。ここで全部を書けるほど簡単な処理ではないので本屋さんなり図書館なり行って書籍を当たりましょう。
「Win32アニメーションプログラミング」や「Inside VisualC++」(ちょっと高いか)、「Inside Windows」当りがいいんじゃないでしょうか?
文字の取得は深く考えないならWM_CHARメッセージのハンドラで処理を書き、キーリピートの防止など、いろいろ細工を施すのであればWM_KEYUPやWM_KEYDOWNなどのハンドラで処理すれば大丈夫だと思います。
MFCベースで作られているのであればViewクラスのそれぞれのメッセージハンドラで引数として渡されてきます。
上記の方法では文字列ではなく押された文字やキーが帰るだけですので受け取った入力をもとに文字列に直す必要があります。
No.2
- 回答日時:
あまり参考にはならないかも知れませんが、
同じようなことがあったので書きます。
1.エディットコントロールと同じようなものを自分で作ろうとしました.
2.イベントハンドラーのなかでキーイベントを取り出し処理しようとしたのですが、アルファベットの処理はできるのですが、漢字変換が上手くできません。
文字カーソル(キャレット)の場所を制御できなかったのです。
3.使っていたFEPはエイトクでした。
4.ジャストシステムのホームページにFEPを使って漢字変換するときに必要となる
DLLがあります。
5.このDLLを使えばできると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA で処理中断(DoEvents...
-
シャットダウン時のExcel強制終...
-
VCでウエイトをミリ秒でかけ...
-
VBA、UserFormを前面に出力して...
-
sprintf()の使用方法
-
マルチスレッドを実現したい
-
マウスのクリックを無視したい
-
Macターミナルで実行中のプログ...
-
分を時間に変換するプログラム
-
アセンブラのタイマー割り込み
-
StrConvの使い方について教えて...
-
C++からCへのソース変換について
-
Windows10でDOSゲーム
-
マイコンからプログラムを読み...
-
スーパーのレジで並んでいたら...
-
vba GetAsyncKeyState関数について
-
WriteFile()でのデータ送信がで...
-
C言語 再帰処理のメリットとデ...
-
PHPで、日本語からアルファベッ...
-
C++でシェルを起動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの処理中一旦処理を止めて再...
-
メッセージボックスのボタン名変更
-
ACCESS側からEXCELの書式を設定...
-
VBA メッセージボックスを自動...
-
VBA kernel32 の意味
-
Application.ScreenUpdating=Fa...
-
VBA、UserFormを前面に出力して...
-
Excel VBA で処理中断(DoEvents...
-
エクセルVBAでクリップボード内...
-
VBSで応答不要のメッセージボッ...
-
Excel VBA 自動的に閉じるMsgBox
-
VCでウエイトをミリ秒でかけ...
-
キーボード入力、マウス操作を...
-
C#で処理中画面を表示したい。
-
【C#】 あるイベントから別イ...
-
マウスのクリックを無視したい
-
【MFC】イベントの無効化について
-
Excelのワークシートに行を挿入...
-
アクセスでのキー送信について
-
シャットダウン時のExcel強制終...
おすすめ情報