• ベストアンサー
  • 困ってます

二回目の右クリックで正しく表示(C言語・API)

  • 質問No.3395174
  • 閲覧数98
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0
C言語にて、Windows APIのプログラミングをしております。
現在ウィンドウを作成して、右クリックでファイルパスを
読み込み、そのテキストファイルからある文字の数を数えて
その数だけ長方形にして表示させるプログラムを作成しております。
そこで、一回目の右クリックでファイルパスの読み込みは成功
したのですが、二回目以降、うまく行きません。

ファイルパスの表示は、何回もファイルパスを呼び出しても、
うまく表示されます。

長方形がうまく表示されないのですが、なぜでしょうか。

ソースはこちらになります。コンパイラはBorland C++
のフリーのものを使用しております。
http://onegaisimasune.web.fc2.com/main4.txt

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 41% (2512/6032)

WM_PAINTでBeginPaintで得たデバイスコンテキストに直接描画しても「描画APIを呼んだ瞬間だけ」しか描画されません。

しかもWM_PAINTイベントは「Windows本体が再描画を必要と認めた場合のみ」しか発生しません。

つまり「描画の方法も、描画するプログラムの記述位置も間違ってるので、最初の1回しか表示されない」のです。
補足コメント
noname#142813
回答ありがとうございました。
どのように修正すればいいのでしょうか。
WM_PAINTを使用せず、記述しないといけないのでしょうか。
宜しくお願い致します。
投稿日時:2007/10/02 17:16
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ