問題タブ [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 に答える
1051 参照

windows - WS_EX_LAYERED ウィンドウが親ウィンドウに対して移動しない

WS_EX_LAYERED 拡張スタイルを持つウィンドウを作成しました。その後、このウィンドウの親を SetParent の呼び出しとして変更しました。しかし、デスクトップ上で親ウィンドウを移動すると、親に対するウィンドウの位置が変わりません。

注:- TSSHELLWND は mstsc セッション ウィンドウです。自分のウィンドウを mstsc セッション ウィンドウの子にしたいと思います。

子ウィンドウに LAYESRED 属性を適用したために動かないのですか????

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

python - Python - Win32Com - Excel スプレッドシートのセルからハイパーリンクを抽出するには?

次のコードを使用して、Excel スプレッドシートの個々のセルからハイパーリンクを取得しようとしています。

これにより、次のように出力されます。

しかし、ハイパーリンクを抽出しようとすると、リンク/URL が文字列形式で返されず、「COMObject unknown」が返されました。

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

c++ - コンボボックスの HSCROLL と VSCROLL

次のようにコンボボックスを作成しましたHSROLL

ただし、VSCROLLアイテムが2つしかない場合でも、 を提供します。これは非常に醜いです。をドロップするWS_VSCROLLと、問題は解決します。

一方、私も使用しました:

20 アイテムのみを表示するには、他のアイテムは で表示されVSCROLLます。VScroll バーは、20 を超えるアイテムがある場合にのみ表示されます。だから私はドロップできませんWS_VSCROLL

アイテムが少ないときに VSCROLL バーなしで「CB_SETHORIZONTALEXTENT」を使用する方法について何か考えはありますか?

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

events - NM_CUSTOMDRAW イベントを処理してリスト アイテムを取得する方法

私は win32/MFC プロジェクトに取り組んでいます。ときどきいくつかの文字列を追加する必要があるカスタム CListCtrl コントロールがあります。CListCtrl に動的に追加されたアイテムに対して何らかの操作を実行する必要があります。

超基本的には、次のことを行う必要があります。

  1. 単一要素の追加を 検出します。
  2. _single items_ IMMEDIATELY AFTER (理想的には、InsertItem() 呼び出しの直後) を取得します。
  3. 単一アイテムの値をマップに保存します。これを使用して、他の操作を実行します。

メソッド DrawItem() をオーバーライドしてこれを行うことを考えました。しかし、OnDraw イベントは私の CListCtrl では利用できないようです

イベントは生成されません。

重要: MyCustomCListCtrl には " On Draw Fixed " プロパティがTrueに設定されていますが、" View " プロパティはレポートとして設定されていないことに注意してください。

したがって、ここここで説明されているように、NW_CUSTOMDRAW イベントを処理し、CustomDraw ハンドラーを作成することにしました。

ここでは、別のコード例を表示できます。

次に、CListCtrl から単一の itemID を取得する方法が必要です。
より正確には、NMHDR struct から単一のアイテム IDを取得する方法が必要です。

これどうやってするの?追加したLASTアイテムの ID しか取得できません。私が見つけられない単純な間違いだと確信しています。

以下のサンプルコード:

CList Ctrl を含むダイアログのソース:

私のカスタム CList Ctrl ソース:

どんな助けでも大歓迎です!

PS 次のようなヒントは教えないでください。

  1. 「自分のドロー固定」プロパティを True に設定します。
  2. 「ON_WMDRAWITEM()」という行が挿入されていることを確認してください
  3. CListCtrl をレポートとして変換します。

私はすでにすべてを試しました... :-)

ありがとうございます!

それ

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

windows - スタンドアロンの[戻る]ナビゲーションボタンをWindowsアプリケーションに挿入するにはどうすればよいですか?

自分のダイアログで同じボタンを使用したい:

このボタンが欲しい

ご覧のとおり、Windowsエクスプローラーやその他のシステムダイアログで使用されています。

それは標準的なコントロールですか?アプリケーションに挿入するにはどうすればよいですか?

0 投票する
3 に答える
3832 参照

c++ - SyslinkコントロールのNM_CLICKを処理する方法

これを適切に機能させる方法を見つけようとして、かなりの調査を行いました。WM_NOTIFY-> NM_CLICKをフィルタリングすると、syslinkの実際のクリックイベントがキャッチされることを読みました。問題は、イベントをキャッチすることですが、無限の再帰でスタックし、数秒で何百ものブラウザウィンドウが表示されるか、リンクが開いたままになります。

実行した手順

  1. ダイアログでSyslinkを作成
  2. Syslinkコントロールリンクにタイトルを追加し、IDDをIDC_LINK1に変更します
  3. NM_CLICKイベントのWM_NOTIFYをフィルタリングします

    /li>

私の本当の質問は、どうすればこれを適切に行うことができるかということだと思います。リンクをURLとして実行するためにSyslinkが適切にフィルタリングされる方法を示す良い例は見当たりません。

0 投票する
3 に答える
1435 参照

c - リスト ビューへの挿入時に自動スクロールを無効にする (win32 API、C)

次のように、共通コントロールのリストビューに項目を挿入しています。

正常に動作しますが、垂直スクロールがリストの一番上に戻るので面倒です。そのため、アイテムを見ているときにこの挿入関数を呼び出すと、ビューが失われ、手動でスクロールしてプログラムを作成する必要があります一緒に働くことは不可能です。

この自動スクロールを防ぐにはどうすればよいですか?

Win32 APIを直接(MFCではなく)使用して、Cでプログラミングしています。

PD: ListView スタイル: LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_CHILD|WS_VISIBLE|WS_BORDER|WS_VSCROLL|WS_HSCROLL|LVS_REPORT

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

c++ - 別のダイアログプロセスでダイアログexeを子ウィンドウとしてロードする方法

私は 2 つの別個のアプリA.exeB.exeを持っています。これにより、2 つの独立したトップ レベル ウィンドウが生成されます。どちらも C++ アプリで、Windows プラットフォームで win32 GUI フレームワークを使用します。これらを新しいアプリC.exeに結合して、マルチタブダイアログの別々のタブに 2 つを表示したいと考えています。

C.exeのDialogをA.exeの(トップレベルウィンドウ)の親ウィンドウとして設定する方法、またはDlg1A.exe (トップレベルウィンドウ)をC.exeの子ウィンドウとしてロードする方法Dlg1

win32またはMFCを使用した解決策はありますか? それとも不可能ですか?

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

c++ - C ++で1つのwinformに複数のビデオストリームを表示する

ネットワークからの複数のビデオ ストリームを 1 つのウィンドウに描画できる Windows アプリケーションを C++ で開発したいと考えています (ビデオ会議アプリケーションなど)。言い換えれば、1 つのウィンドウを作成し、このウィンドウを複数のセクションに分割して、各セクションにビデオ ストリームを表示する必要があります (oovoo や webex などのビデオ会議アプリケーションで見られるように)。

ここで学習を開始し、重要な主題を魔女にするにはどうすればよいですか? ネットで Google を検索しましたが、この主題に関する記事や例が見つかりません。

ガイドしてくださいどうもありがとう

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

c++ - WinXP でアプリケーションの音量を制御する方法

WinXP で特定のアプリケーションの音量をプログラムで制御したいと考えています。私は abt 1 つの API を知るようになりましたwaveOutSetVolume()が、それは Win Vista 以降でアプリケーションのボリュームを制御します。XP の場合、システム ボリューム全体に影響を与えるだけです。

XPでこれを達成する方法を教えてください。

さらに、システムボリュームミュートチェックボックスのチェックを外す/チェックする方法も同様です。