いまWM_CREATE内でCreateWindowExを使ってウィンドウを作成しているのですがそれがいけないのでしょうか?どういった風に実装したのかが解らないのでSetTimerを使った時のメッセージプロシージャを載せていただけますでしょうか?僕もWM_CREATEでCreateWindowExを使っていますがちゃんとできています。START_BUTTON:{GetWindowText(hWndStartTxt,start,1024);GetWindowText(hWndEndTxt,end,1024);SetTimer(hWndLoopTxt,1,1000,NULL);KillTimer(hWndLoopTxt,1);}}いまはこんな感じで書いています。);i++;}タイマーを使ってることがループになっているのでその中でループをする必要はないですよ。僕の実装だと次のようになります。}これだと、タイマーを作成して、すぐに削除しているので何も表示されなかったのでしょう・・・(WM_TIMERが発生する前にタイマーが削除されてしまいます。9年前タブの移動に関しては、前に私がやりとりしていた↓のトピックを見ていただければ分かるかと。華麗にスルーされてますがもう一度書いてみます。Sleepの前にUpdateWindowを入れればwhileループでも表示されますよ。ウインドウ操作に反応しなくなるのでお勧めはしませんけど。タイマー使うにしてもモニターのリフレッシュレートより速く書き換えると物理的に見えません。ウチではコンソールでも最後の数字しか見えないです。タイマーを使ってることがループになっているのでその中でループをする必要はないですよ。僕の実装だと次のようになります。IDT_COUNT);}DestroyWindow(hWnd);break;あれから編集しました。atoi(end);break;}break;}break;今こんな感じなのですが、なにも表示されません。タブの移動に関しては、前に私がやりとりしていた↓のトピックを見ていただければ分かるかと。http://dixq.net/forum/viewtopic.php?f=3&t=7543ありがとうございます。表示の方が完成したらやってみます。sprintf(buf,"%d\r",i);としても変わりませんか?一番最初にやってみました。\rの部分が文字化けしてしまってできませんでした。華麗にスルーされてますがもう一度書いてみます。Sleepの前にUpdateWindowを入れればwhileループでも表示されますよ。ウインドウ操作に反応しなくなるのでお勧めはしませんけど。タイマー使うにしてもモニターのリフレッシュレートより速く書き換えると物理的に見えません。ウチではコンソールでも最後の数字しか見えないです。*/というのを入れて、ボタンを押してすぐにウインドウを動かそうとしてみてください。*/というのを入れて、ボタンを押してすぐにウインドウを動かそうとしてみてください。*/というのを入れて、ボタンを押してすぐにウインドウを動かそうとしてみてください。これは回避できないのですか?横から失礼します。WindowsのアプリはWindowsメッセージを処理させないとウィンドウの移動さえ出来ません。メッセージを処理させるためにWndProcを一度抜ける必要があります(メッセージ処理中に他のメッセージを処理できない)。*/とやると1つのメッセージ処理に10秒間専有することになりますので、ウィンドウ移動のメッセージ処理が10秒間できません。回避する簡単な方法はありません。しても高速に書き換えたいならコンソールを使ったほうが良いです。それでも画面のリフレッシュレートを超えたら、その値は表示できません。Windowsアプリなら一秒間に60回程度のWM_TIMER周期にして、その範囲で出来る処理でなるべく早くWndProcを抜ける処理を書くようにしましょう。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。これは回避できないのですか?精度は良くないですがタイマーイベントを使えば回避できます。SetTimer,KillTimerに指定するのはメインウインドウのウインドウハンドルですよ。こちらで動作確認に使ったウインドウプロシージャのコードを貼り付けておきます。9年前また、間に失礼します。9年前[quote="ISLe"SetTimer,KillTimerに指定するのはメインウインドウのウインドウハンドルですよ。[/quote]あぁ、すみません。ウィンドウハンドルにしたところできました。みなさん、ありがとうございます。ミクプラは自由にリンクできます。