問題タブ [createwindowex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
324 参照

c++ - ブレークポイントがトリガーされた状態でCreateWindowsEx()が失敗する

アプリケーションからOpenGLウィンドウを開く際に問題が発生しました。

64ビットコンソールアプリケーションを使用しています。そのコンソール内から、OpenGLが描画するための別のウィンドウを開きたいと思います。

呼び出しはCreateWindowEx()で失敗し、「MyApp.exeがブレークポイントをトリガーしました」で失敗します。次のコードはウィンドウ自体を初期化します。

それにつながる前のコード:

そこで何が問題になっていますか?わからないので、別のアプリケーションで使用したコードを使用していましたが、問題なく動作しました。ここでは、ひどく失敗しますが(元のコードでは、コンソールアプリケーションではなく、コンソールのないWin32アプリケーションでした)。

最終的な解決策は、呼び出されるDLLにあり、呼び出されると、OpenGLが描画するためのウィンドウを作成する必要があります。

0 投票する
2 に答える
350 参照

c++ - CreateWindowEx() はどこにありますか?

winapi の仕組みを理解しようとしています。最初のいくつかのアプリを書き始めたところです。今、関数「CreateWindowEx()」に興味があります。この関数の中に何が書かれているのか知りたいのですが、見つけることができるのは、それを呼び出すための引数とそのためのパラメーターだけです。そこで、h ファイル内でこの関数を探すことにしましたが、見つかりません。誰か助けてくれませんか?

0 投票する
1 に答える
2844 参照

c++ - CreateWindowExが失敗する

NeHe gamedevチュートリアルに従って(OOに変更しながら)、CreateWindowExデモ(http://nehe.gamedev.net/tutorial/creating_an_opengl_window_(win32)/13001/)で問題が発生しました。

lpParamを介してWndProcにWindowオブジェクトへのポインターを渡そうとしています(詳細はhttp://web.archive.org/web/20051125022758/www.rpi.edu/~pudeyo/articles/wndproc/) 。しかし、そうしようとすると、CreateWindowExが失敗し、GetLastErrorが1400を返します--ERROR_INVALID_WINDOW_HANDLE。

私はWindowsAPIの完全な初心者であり、これを解決するために知っているすべての方法を使い果たしました。ここで私の間違いを指摘していただけますか?以下の関連コード:

メンバーwindowProc:

0 投票する
1 に答える
1355 参照

c++ - WS_BORDER スタイルのカスタム コントロールに Windows テーマを適用する

WS_BORDER スタイルで CreateWindowEx を使用して作成されたカスタム コントロールがあります。ダイアログボックスの他のコントロールとは異なる色で表示される境界線を除いて、すべてが正常に機能します。私のコントロールの境界線は黒で、他のコントロールの境界線は青です。コントロールを作成した後、EnableThemeDialogTexture(_dialogHandle, ETDT_ENABLE) とhttp://www.patchou.com/projects/richedit/のロジックを呼び出してみましたが、役に立ちませんでした。私は C++ と Winapi を使用しています。すなわち。MFC も .Net もありません。どんなガイダンスでも大歓迎です。

編集:これが私のために働いたロジックです:

0 投票する
1 に答える
717 参照

c++ - createWindowEx でビルドが成功しても、ウィンドウがまだ表示されない

私はいくつかのウィンドウと directX プログラミングを学ぼうとしていますが、さまざまなことを試していました。ビルドが成功したにもかかわらず、突然ウィンドウが表示されなくなった。私は何かを台無しにしたに違いないと考え、最後にウィンドウを表示することができた場所に戻るまですべてを元に戻しましたが、今は(ビルドが成功して)実行してもまだ表示されません:(そして何が問題なのかアイデアが尽き始めています.とても奇妙です.前回それを機能させてから行ったことの1つは、いくつかのlibsディレクトリを追加することでしたが、それがどのように影響するかを理解するのに苦労しています.このようにプログラムしてください. あなたの誰かが以前にこの問題に遭遇したことがありますか? もしそうなら, どうやってそれを解決しましたか? ウィンドウを作成する func のコードは次のとおりです.

ps。また、WINDCLASSEXとWINDCLASSの間で変更を試みましたが、変更する必要があるすべての機能で、違いはありませんでした。

0 投票する
1 に答える
1265 参照

c++ - 初期化されていない戻り値により、CreateWindowEx で無効なウィンドウ ハンドル エラーが発生するのはなぜですか?

編集- 元々含まれていなかった m_hWndClient と WndProc を処理するコードを追加しました。簡潔にするために、私はそれが無関係であると誤って想定していました.

以下が実行された後

m_hWndFrameは NULL でありGetLastError、「エラー 1400 - 無効なウィンドウ ハンドル」が表示されますが、これは正常に機能します。

WndProcはこのように見えます:

私のプロジェクトは(多くの髪を引き裂いた後)動作するようになりましたが、戻り値を保持するためだけに使用される変数の初期化が重要である理由がわかりません。

明らかに、初期化せずに変数が NULL または 0 であると想定してから、コンテンツ (たとえばif (!m_unitialisedVariable)) を使用またはテストすると、惨事に終わることになりますが、この場合、なぜそれが問題になるのでしょうか? 「CreateWindowEx」を呼び出す前に特に何かを含める必要はありませんm_hWndFrame(少なくとも VS2010 のヘルプによると) では、なぜ「CreateWindowEx」の結果に影響するのでしょうか?

0 投票する
2 に答える
1267 参照

winapi - WinAPI 検索ウィンドウ

Visual Studio 2012 で win32 アプリケーションを構築しています。次のコードで作成された 4 つの無効なボタンがあります。

私がやりたいことは、アプリケーションの実行時にボタンを有効にすることです。最初のボタンを見つけて有効にするために findwindow を使用しようとしましたが、見つかりません。私のコードは次のとおりです。

私は何か間違ったことをしていますか?前もって感謝します。

0 投票する
1 に答える
1058 参照

winapi - ES_NUMBER、ES_UPPERCASE、および ES_LOWERCASE スタイルが Win32 API 編集コントロールで機能しなくなった

Windows エディット コントロールをゼロから作成するために使用される非常に古い (「レガシー」) VB6 コードがあります。次のようになります。

何年も機能していましたが、現在、顧客は ES_NUMBER スタイルが効果がないと報告しています。同じことは、ES_UPPERCASE と ES_LOWERCASE という 2 つの同様のフラグにも当てはまります。何が問題になる可能性がありますか?

0 投票する
1 に答える
2051 参照

c++ - WinMain の外で CreateWindowEX 関数を使用する場合、HINSTANCE を取得するにはどうすればよいですか?

メイン ウィンドウのボタンをクリックしたときにポップアップ ウィンドウを作成しようとしています。そのために CreateWindowEX 関数を使用しています。ただし、CreateWindowEx 関数は、最後から 2 番目のパラメーターとして HINSTANCE 型変数を受け取ります。ボタンがクリックされたときに WndProcedure 内からこの新しいウィンドウを作成していることを考えると、WinMain 関数の HINSTANCE 変数はグローバル変数ではないため、使用できません。

次のコードは、WndProcedure コールバック関数から取得されました。

CreateWindowEx 関数が WndProcedure コールバック関数内から機能するように、必要な hInstance 変数を取得するにはどうすればよいでしょうか。

注: hInstance 変数をグローバルにすることを検討しましたが、アプリケーションが作成するすべてのウィンドウで同じ hInstance を使用する必要があるかどうかはわかりません。