• ベストアンサー

ウィンドウを動かして端に追いやると文字が消える(API・C言語)

C言語でWindows APIのプログラミングをしているものです。 プログラムができたのですが、ウィンドウを動かし、 端に追いやるとウィンドウ上の文字や図形が消えてしまいます。 なぜでしょうか・・・。 結構チェックはしたもののわからずじまいです。 アドバイスお願い致します。 こちらです。 http://onegaisimasune.web.fc2.com/main5.txt

noname#142813
noname#142813

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

  • ベストアンサー
  • iyomante
  • ベストアンサー率60% (14/23)
回答No.2

あとは描画のロジック内のどこかでトラブってるのだと思います。 例えば1526行の for( i = ko ; i < 30 ; i++ ){ の変数koは宣言部で初期化されてないので不定値の可能性があります。 ただ 当方側で確認したところ今のままのソースで再現しませんでした(bcc32 -W main5.c/mux2.vは空) 消えずにちゃんと再描画されてしまいました。 ReleaseDC()についてはGetDC()とセットのものでWM_PAINT内では普通使わないので、原因は違うとしても取った方がよいです。

noname#142813
質問者

補足

回答ありがとうございます。 mux2.vの方はこちらです。 http://onegaisimasune.web.fc2.com/verilog/mux2.txt 宜しくお願い致します。 拡張子だけvに直してもらえますか。

その他の回答 (1)

  • iyomante
  • ベストアンサー率60% (14/23)
回答No.1

>ReleaseDC(hwnd , hdc); > > >EndPaint(hWnd , &ps); BeginPaint()で取得したhdcは、ReleaseDC()しないで下さい。 EndPaint()だけでよいです多分

noname#142813
質問者

補足

回答どうもありがとうございます。 消してみたのですが、うまく行きませんでした… さらなる回答お待ちしております。

関連するQ&A

  • うまく表示されない。(API・C言語)

    C言語でAPIのプログラミングを行っている者です。 ソースはこちらとなります。 http://onegaisimasune.web.fc2.com/main6.txt mux2.vはこちらです。 http://onegaisimasune.web.fc2.com/main5.txt そこで、二つ程今のとこバグがあり、 1つ目は何度かウィンドウ上で左クリックしていると、 23回目くらいの所でウィンドウ上の文字が消えてしまう、 と言う問題と、 2つめはウィンドウを画面の外に追い出すと ウィンドウ上の文字が消えてしまうというものです。 どこが問題なのか、ご指摘願います。 どうか宜しくお願い致します。

  • 不具合が発生(API・C言語)

    WINDOWS APIをc言語でプログラムしているものです。 こちらのプログラムを書いたのですが、 http://onegaisimasune.web.fc2.com/main8.txt 左クリックで線を引くのですが、 線を引いていると普通の文字は消えないのですが、 ある操作をした整数を表示させるようにすると、 その整数が変わってしまいます。 どうしたら直るのでしょうか。 宜しくお願い致します。

  • 四角形と線との関係(C言語・API)

    C言語にてWINDOWS APIのプログラミングをしています。 そこでちょっとわからないのですが、 このソースをご覧いただけますか。 http://onegaisimasune.web.fc2.com/main7.txt このソースは、ウィンドウ上に四角形があり、 また、クリックで線も引けるというものですが、 四角形の上から線を引くと、線が四角形の下に かぶさってしまいます。 何とか四角形の上に持ってくる方法はありませんでしょうか。 宜しくお願い致します。

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

    C言語にて、Windows APIのプログラミングをしております。 現在ウィンドウを作成して、右クリックでファイルパスを 読み込み、そのテキストファイルからある文字の数を数えて その数だけ長方形にして表示させるプログラムを作成しております。 そこで、一回目の右クリックでファイルパスの読み込みは成功 したのですが、二回目以降、うまく行きません。 ファイルパスの表示は、何回もファイルパスを呼び出しても、 うまく表示されます。 長方形がうまく表示されないのですが、なぜでしょうか。 ソースはこちらになります。コンパイラはBorland C++ のフリーのものを使用しております。 http://onegaisimasune.web.fc2.com/main4.txt

  • ファイルパスの二回目の読み込み(API・C言語)

    ウィンドウから右クリックでファイルダイアログを開き、 ファイルパスを取得、ある操作をさせて ウィンドウ上に表示させると言うプログラムを、 C言語、コンパイラはBorland C++、Windows APIにて 作成しております。 そこで、一回目、右クリックしてパスを読み込み、 表示させる事には成功したのですが、 二回目、同じようにウィンドウ上で右クリックして、 パスを読み込むと、おかしな表示となってしまいます。 二回目も一回目と同じような表示にさせるにはどうしたら いいでしょうか。 アドバイス宜しくお願い致します。 ソースはこちらです。 http://onegaisimasune.web.fc2.com/main3.txt

  • C言語でWin32API

    C言語を使ってWin32APIを呼び出すような、Windowsプログラミングを始めたいんですが、何かよい本やサイトはご存知ないでしょうか。 Visual C++6.0はあるんで、それを使えばいいと思うんです。 C言語はわかるんですが、Windowsプログラミングに関する知識はほとんどないので、ごく基本的なことから知りたいんです。 WinMain関数というのを書くようなんですが、その書き方すら知りません。  スケルトン(出来れば、それよりもっと基本的なこと)から書いてあるようなものです。

  • APIはプログラミング言語?

    基本的な事がわからないので教えていただきたいのですが APIと言うのは、Parlやjavaのような 「プログラミング言語」なのでしょうか? そして、APIを理解することで windowsプログラミングと言うのができるのでしょうか?

  • C#プログラミングに役立つAPIの本???

    もっぱらC#を使用しています C言語のプログラム遺産の活用等には全く縁の無い私です だから今後もC#だけで行こうと思っております VC++などに移る気などサラサラありません それ故に、念のために ・・・・・ 実は内心では心配だから、APIだけは勉強しておこうと思って教科書を探しました 日経ソストウエアが出版している『APIで学ぶWINDOWS』¥2095を購入しましたが的外れ! ウインドウズの解説本でありプログラミングには役立ちません 更にC#プログラミングに役立つAPIの本を探したのですが、適当なものが見つかりません ご存知でしたら教えてください、お願い申し上げます

  • 【C言語】二階微分方程式をルンゲクッタで解く解き方が…

    二階微分方程式をルンゲクッタで解くプログラムを作っているのですが、上手く合成関数が定義できず、上手く行きません。途中までプログラムを作ったので、見ていただけませんか?? 問題 http://12lien.web.fc2.com/q.jpg (PC環境Windows でX on windows 3 コンパイラはgcc )   プログラム⇒http://12lien.web.fc2.com/base.txt プログラム中ではdx/dt = Y, x = X とおきました。 オネガイシマスm(_ _)m

  • C言語について。

    C言語プログラマとしては、スタートアップコードは・・・ ・自分が書いたプログラムを、直接動かすために必要なライブラリ ・それはコンパイル後、リンカによって追加されるライブラリこれは、 どういう意味でしょうか?分かりやすく教えていただけると幸いです。すみません。で、 以下のかぶくんまんさんの回答です。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11247611941 で、 C言語におけるプログラミングとは「main関数を書くこと」に他ならない。なぜ「main関数を書く」ことがC言語におけるプログラミングに他ならないのかと言えば、それは偏に「C言語のコンパイラはmain関数を呼び出すプログラムを生成するから」です。それがmain関数を求めるので結果的にmain関数がリンクされ、そしてmain関数が求めるままに他の関数もリンクされていくわけです。 で、その「main関数を呼び出すプログラム」こそが、C言語における「スタートアップコード」。 という回答で、main関数以降は、プログラマが書くのですよね?プログラマが関数をリンクさせる様なプログラムを書くということでしょうか?教えていただけると幸いです。すみません。 という所が分かりません。教えていただけると幸いです。すみません。以下のURL https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12247932542