問題タブ [wtl]

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

c++ - C++ を使用した win32 GUI プログラミングで、ルート項目の前に TreeViewCtrl に展開ボタンを追加するにはどうすればよいですか?

  1. C++ 、Win32、TreeCtrl では、「United States」の前に展開ボタンを追加するように、ルート TVITEM の前に展開ボタンを追加するにはどうすればよいですか。画像載せれなくてすみません。だから私はそれを吹き飛ばしてみます。

    TreeViewCtrl


    /li>
0 投票する
1 に答える
359 参照

c++ - WTL、ツールバーを作成できません

SDIアプリケーションを持っています。フレームクラスは次のとおりです。

リソースファイルにメニューとツールバーがあり、どちらにもIDR_MAINFRAMEIDがあります。メニューは作成されますが、ツールバーは作成されません。

ツールバーの作成:

結局、ツールバーが表示されません。CreateSimpleToolBarゼロ以外を返します。WTL sdi-applicationでツールバーを作成するにはどうすればよいですか?ありがとうございました/

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

c++ - Clistctrl 選択検出

私はリスト ビューで遊んでいて、この投稿に出くわしました: CListCtrl の選択の変更を検出する方法は?

ただし、そこで使用されるコードには大きな流れがあり、複数選択では機能しません (そのスレッドで指摘されているように)。だから私の質問は、どうすれば複数選択でコードを機能させることができるでしょうか (たとえば、shift または ctrl による選択)?

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

c++ - CreatePointFont()がNULLを返すのはなぜですか?

私のWTLアプリでは、静的ラベルのフォントを変更しようとしています。ただし、CreatePointFontはNULLを返します。なぜこれなのか?

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

c++ - アクセス違反の原因となるWTLおよびCContainedWindow

次のコードを使用して、ダイアログボックスで進行状況コントロールをサブクラス化しようとしています。

そこにすべて良い。今私がこれをやろうとすると:

SendMessage些細なWTLのSetRange()実装でアクセス違反の例外が発生します。私は上下に検索してきましたが、これは「古いATLコンポーネントを使用するアプリケーションでDEPとの競合が発生する可能性がある」で説明したように、「サンク」の問題である可能性があります。これは、最新のATLとWTLを使用しているため実際には当てはまりません。 (Visual Studio2010およびWTL8.1)。WTL 8.0を使用しても、同じ問題が発生します。

HWNDが有効であるため、サブクラス化は正常に実行されました。何か案は?

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

c++ - リストビューコントロールは、列の数が多いとパフォーマンスが低下します

レポートモードの仮想リストビューコントロールがあり、そのアイテムはNM_CUSTOMDRAW通知を処理して手動で描画します。私が抱えている問題は、私のパフォーマンスが列の数に比例して低下することです。コードをデバッグすることで、クライアントウィンドウにも表示されないアイテムに対してOnCustomDrawとOnGetDispInfoが呼び出されることに気付きました。

1.000行と100列のリストビューがあり、そのうち10行と5列のみが表示されている場合、この10行の各要素に対してOnCustomDrawとOnGetDispInfoが呼び出されることに気付きました。Listviewは、表示されていない95列すべての通知を送信します。

誰かがこのような問題に遭遇しましたか?

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

c++ - WTLでモードレスダイアログへのポインタを削除する方法

MainDlg関数で

CMyDlgで

したがって、CMyDlg * dlgポインタは失われます...(メモリリーク)

モデルダイアログをグーグルで検索します。msdn.comのメッセージに注意してください。

http://msdn.microsoft.com/en-us/library/zhk0y9cw(VS.80).aspx

注:このサンプルは非常に単純なメカニズムを使用しています。PostNcDestroyでこれを削除します—ボックスの非クライアント領域が破棄された後に呼び出される関数です。

しかし、それはMFCにあります。私はそれをWTLに使用します。これを削除するとき; にアサートされます

それで:

モードレスダイアログへのポインタを削除する正しい方法は何ですか?

あなたの助けに感謝します!

終わり:

http://tech.groups.yahoo.com/group/wtl/message/4444

OnFinalMessageはWTLのMFCのPostNCDestroyに相当し、フレームウィンドウを安全に「自殺」させることができます:)

それはうまくいきます!

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

c++ - WTL でウィザードの [閉じる] ボタンをグレー表示にする

私は WTL Aero ウィザードを作成しており、ウィンドウの [閉じる] ボタンをグレー表示にしたいと考えています (最初のステップはユーザーの操作を必要とせず、キャンセルできないため、ボタンを無効にすることは完全に適切です)。

次のコードを入れます:

ウィンドウ自体が画面に表示される前にプロシージャが呼び出されるため、 inOnInitDialogは機能しません (ATLASSERT(::IsMenu(m_hMenu));アサーション inEnableMenuItemは実行時にトリップされます)。

[閉じる] ボタンを無効にするエレガントな方法はありますか? (私は WTL の初心者であり、ソリューションをできるだけクリーンにしたいと考えています)。

これは、ウィザードのページ コードの最小バージョンです。

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

c++ - ATL/WTL を使用して独自のネイティブのような (コピー可能な) コントロールを作成する方法は?

WTL を使用している場合、組み込みオブジェクトを表すコントロールを自由にコピーできます。

独自のコントロールを作成したい場合は、次のように言うのは簡単です。

しかし今の問題は、私が単純に言うことができないということです:

CMyControlは単なるハンドルではなく、データ自体が含まれているためです。

このコピー動作に関して、組み込みの ATL/WTL クラスと一致するコントロール クラスを作成する正しい方法は何ですか?

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

winapi - ATL/WTL 代替メッセージ マップ (ALT_MSG_MAP) はどのように機能しますか? いつ使用しますか?

ドキュメント読みました。次のように書かれています。

ALT_MSG_MAPATL は、マクロで宣言された代替メッセージ マップをサポートします。
各代替メッセージ マップは、 に渡す一意の番号によって識別されますALT_MSG_MAP
代替メッセージ マップを使用すると、複数のウィンドウのメッセージを 1 つのマップで処理できます。
デフォルトでは、CWindowImplは代替メッセージ マップを使用しないことに注意してください。
このサポートを追加するには、派生クラスのWindowProcメソッドをオーバーライドし、メッセージ マップ識別子を使用して呼び出します。CWindowImplProcessWindowMessage

WTL を見ると、次のようなメッセージ マップが表示されます。

しかし、私は理解していません:

  • 彼らがどのように呼ばれるか。(コードは代替メッセージ マップの存在をどのように認識しますか?)

  • デフォルトのメッセージ マップとの違い。それらはすべて、同じウィンドウに対して同じ種類のメッセージを処理しているように見えます...

  • なぜ便利なのか。(とにかく、それらはすべて同じウィンドウ用ではありませんか?)

代替メッセージマップが何をするかについて、誰かがより良い説明を持っていますか?
(なぜそれらが発明されたのかについての動機は非常に役に立ちます。)