問題タブ [win32gui]

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 に答える
430 参照

winapi - GetWindowLong に ANSI と Unicode のバリアントがあるのはなぜですか?

GetWindowLong(and ) には、引数GetWindowLongPtrがなくても 'ANSI' (A) と 'Unicode' (W) のフレーバーがあることを今日知りました。MSDN のページにTSTRは、これらの亜種が存在することが示されているだけで、その理由については言及されていません。GetWindowLong

CreateWindowEx(A/W フレーバーもある) またはのエンコーディングと一致する必要があると想像できますRegisterClassが、多くの理由から、これは意味がないと思います。Unicode バージョンが XP で失敗する可能性があると誰かが報告したため(XP は NT であり、私が理解しているように、フードの下にあるすべての Unicode ですが) 、明らかに重要です。USER32.DLLの 32 ビット バージョン(の両方のフレーバーを含む)の逆アセンブルも試みましたがGetWindowLong、明らかなエンコーディングの違いに基づいて追加の作業が行われています*。

どの機能を選択すればよいですか?


* のフレーバーはGetWindowLong、他の関数に渡されるブール値を除いて同じです。このブール値は、メモリ構造内のフラグ ビットと比較されます。静的コード分析を使用して追跡することはできません。

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

c# - .NET GDI クラスでの Win32 API 呼び出しの使用

私は C# で開発された winforms アプリケーションを持っています。これには多くのスクリーン ペインティングが含まれます。ペイントには、カスタム コントロールやその他の 2D オブジェクトのレンダリングが含まれます。問題は、画面全体をペイントするのに約 4 ~ 5 秒かかることです。必要なすべてのデータがディスクやネットワークから読み取られるのではなく、メモリ自体で利用できるようになるレベルまでコードを最適化しました。

レンダリング時間をさらに短縮するために、次のオプションを使用する予定でした

  1. .NET によって提供される GDI クラスを使用する代わりに、Win32API によって公開される GDI 関数を直接呼び出す

  2. レンダリング効率が良いと聞いたのでDirectXを活用。私のアプリケーションには、3D レンダリングは一切含まれていません。

どのオプションを選択するかを決めるのを手伝ってください。高性能のサードパーティ製コンポーネントやライブラリなど、これ以外のオプションはありますか?

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

windows - メインダイアログ(親)を閉じずにダイアログボックス(子)を閉じる方法

親ダイアログが 1 つあります。このダイアログには、このメニュー (ヘルプ -> について) にメニューがあります。
about の選択をクリックすると、about DialogBox が表示されます。
[OK] または [閉じる](X) ボタンをクリックすると、メイン ダイアログ ボックスではなく、このダイアログ ボックスのみが閉じます。

これは私の試みです:

0 投票する
0 に答える
368 参照

python - PythonのWindowsXPタスクバーで実行中のプログラムを取得する方法は?

このコードを使用して、トップレベルのウィンドウを取得しました。タスクバーで実行中のプログラムのみを取得する方法はありますか?フォーマットでごめんなさい。ありがとう

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

winapi - Qt Creatorの最初のWinAPIプログラムでウィンドウが表示されませんか?

WinAPIの使用に関しては、私は初心者です。コードスニペットを見つけたチュートリアルに従っています。スニペットは基本的なプログラムを示しています。私は以下に私の完全なコードを投稿しています:

QtCreatorからコードを実行しているときにエラーは発生しません。ただし、実行するとウィンドウは表示されませんが、出力コンソールには次のように表示されます。

「MyProgram.exeはコード0で終了しました

これは何が原因でしょうか?

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

perl - プログレスバーはPerlWin32::GUIをステップアップします

私はperlWin32::GUIを使用してデスクトップアプリケーションを開発しています。その中で、私はステータスの識別にプログレスバーを使用しています。プログレスバーの最大レベルを100に設定しました。その点で、長さに従って値をステップアップしています。以下にサンプルコードを書きました。100を入力長で割ってステップアップ値を計算しています。その中で、入力長が奇数の場合、ステップ値は浮動小数点になります。したがって、プログレスバーはその最大レベルを完全には完了していません。たとえば、長さが11の場合、ステップアップ値は9.09になります。プログレスバーは9のみとしてそれを取ります。したがって、進行レベルは99セグメントのみを完了します。100ではありません。提案を共有してください。

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

c - Win32 C/C++ デスクトップにボタンを追加

こんにちは、ずっと前に、C++ で作成されたプログラムを見て、ボタンを作成し、デスクトップの左上隅にドッキングして、新しいコントロールに対応するようにデスクトップ自体のサイズを変更しました。しかし、その男がどの API を使用したかを忘れてしまいました。

私が話していることを知っている人、またはデスクトップでコントロールを描画した経験がある人はいますか?

ありがとう。

PS: API だけが必要です

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

menu - wxWidgets または Win32 を使用してパネルにメニューを埋め込む

メニューと同じ動作をするコントロールを作成する必要がありますが、パネルに埋め込まれ、常に開いたままになっています。コンテキスト メニューとまったく同じように見える必要がありますが、フローティングではなくパネルに埋め込まれている必要があります。wxWidgets でいくつかの異なる方法でそれを実行しようとしましたが、wxMenuBar またはポップアップ メニューを除いて、wxMenu をウィンドウに追加することはできません。誰かがそれを行う方法を知っていますか? wxWidgets で不可能な場合は、Win32 を直接使用することも選択できます。

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

windows - ヘッドホンを接続してもスピーカーから出力を作成しますか?

MMSystem APIまたはwaveOutを使用して、ヘッドフォンが接続されている場合でもスピーカーに可聴出力を生成させるにはどうすればよいですか?

つまり、両方のデバイスで同時に出力を聞こえるようにするにはどうすればよいでしょうか。

thxクリス

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

c++ - ツールバーでオーバードロー?別のアイデア?

主な目的は、NoteBook のアプリケーションのツールバーの描画領域内にタブを描画すること、またはタブがツールバーの下にある代わりに上のスペースを使用することです。

私たちが使用しているフレームワークは、WxWidgets、C++/C です。私は周りを見回しましたが、解決策を見つけることができませんでした。または、誰かが実際にツールバー自体の中にタブを描画して同様のアプローチを行った場合。

Microsoft MSDN の記事をいくつか読みましたが、コントロールをコントロールの上に描画しないことを推奨しています。

今日、いくつかのテストを行い、解決策を思いついたと思います。私の解決策は、通常のようにウィンドウを描画することですが、動的にサイズ変更および再配置される子ウィンドウの右側に NoteBook を配置して、領域を最も効果的に使用するためにタブがツールバーの上にオーバーレイされるようにします。オン フォーカスとロスト フォーカス ウィンドウ メッセージに対処する必要がありますが、これは、タスクを達成するために考えることができる最もエレガントな方法です。

あなたが推奨できるアイデアや問題は、このアプローチに従うことで直面する可能性があります。

モックアップ