問題タブ [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.
c++ - C++ を使用した win32 GUI プログラミングで、ルート項目の前に TreeViewCtrl に展開ボタンを追加するにはどうすればよいですか?
C++ 、Win32、TreeCtrl では、「United States」の前に展開ボタンを追加するように、ルート TVITEM の前に展開ボタンを追加するにはどうすればよいですか。画像載せれなくてすみません。だから私はそれを吹き飛ばしてみます。
TreeViewCtrl
/li>
c++ - WTL、ツールバーを作成できません
SDIアプリケーションを持っています。フレームクラスは次のとおりです。
リソースファイルにメニューとツールバーがあり、どちらにもIDR_MAINFRAME
IDがあります。メニューは作成されますが、ツールバーは作成されません。
ツールバーの作成:
結局、ツールバーが表示されません。CreateSimpleToolBar
ゼロ以外を返します。WTL sdi-applicationでツールバーを作成するにはどうすればよいですか?ありがとうございました/
c++ - Clistctrl 選択検出
私はリスト ビューで遊んでいて、この投稿に出くわしました: CListCtrl の選択の変更を検出する方法は?
ただし、そこで使用されるコードには大きな流れがあり、複数選択では機能しません (そのスレッドで指摘されているように)。だから私の質問は、どうすれば複数選択でコードを機能させることができるでしょうか (たとえば、shift または ctrl による選択)?
c++ - CreatePointFont()がNULLを返すのはなぜですか?
私のWTLアプリでは、静的ラベルのフォントを変更しようとしています。ただし、CreatePointFontはNULLを返します。なぜこれなのか?
c++ - アクセス違反の原因となるWTLおよびCContainedWindow
次のコードを使用して、ダイアログボックスで進行状況コントロールをサブクラス化しようとしています。
そこにすべて良い。今私がこれをやろうとすると:
SendMessage
些細なWTLのSetRange()
実装でアクセス違反の例外が発生します。私は上下に検索してきましたが、これは「古いATLコンポーネントを使用するアプリケーションでDEPとの競合が発生する可能性がある」で説明したように、「サンク」の問題である可能性があります。これは、最新のATLとWTLを使用しているため実際には当てはまりません。 (Visual Studio2010およびWTL8.1)。WTL 8.0を使用しても、同じ問題が発生します。
HWNDが有効であるため、サブクラス化は正常に実行されました。何か案は?
c++ - リストビューコントロールは、列の数が多いとパフォーマンスが低下します
レポートモードの仮想リストビューコントロールがあり、そのアイテムはNM_CUSTOMDRAW通知を処理して手動で描画します。私が抱えている問題は、私のパフォーマンスが列の数に比例して低下することです。コードをデバッグすることで、クライアントウィンドウにも表示されないアイテムに対してOnCustomDrawとOnGetDispInfoが呼び出されることに気付きました。
1.000行と100列のリストビューがあり、そのうち10行と5列のみが表示されている場合、この10行の各要素に対してOnCustomDrawとOnGetDispInfoが呼び出されることに気付きました。Listviewは、表示されていない95列すべての通知を送信します。
誰かがこのような問題に遭遇しましたか?
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に相当し、フレームウィンドウを安全に「自殺」させることができます:)
それはうまくいきます!
c++ - WTL でウィザードの [閉じる] ボタンをグレー表示にする
私は WTL Aero ウィザードを作成しており、ウィンドウの [閉じる] ボタンをグレー表示にしたいと考えています (最初のステップはユーザーの操作を必要とせず、キャンセルできないため、ボタンを無効にすることは完全に適切です)。
次のコードを入れます:
ウィンドウ自体が画面に表示される前にプロシージャが呼び出されるため、 inOnInitDialog
は機能しません (ATLASSERT(::IsMenu(m_hMenu));
アサーション inEnableMenuItem
は実行時にトリップされます)。
[閉じる] ボタンを無効にするエレガントな方法はありますか? (私は WTL の初心者であり、ソリューションをできるだけクリーンにしたいと考えています)。
これは、ウィザードのページ コードの最小バージョンです。
c++ - ATL/WTL を使用して独自のネイティブのような (コピー可能な) コントロールを作成する方法は?
WTL を使用している場合、組み込みオブジェクトを表すコントロールを自由にコピーできます。
独自のコントロールを作成したい場合は、次のように言うのは簡単です。
しかし今の問題は、私が単純に言うことができないということです:
CMyControl
は単なるハンドルではなく、データ自体が含まれているためです。
このコピー動作に関して、組み込みの ATL/WTL クラスと一致するコントロール クラスを作成する正しい方法は何ですか?
winapi - ATL/WTL 代替メッセージ マップ (ALT_MSG_MAP) はどのように機能しますか? いつ使用しますか?
ALT_MSG_MAP
ATL は、マクロで宣言された代替メッセージ マップをサポートします。
各代替メッセージ マップは、 に渡す一意の番号によって識別されますALT_MSG_MAP
。
代替メッセージ マップを使用すると、複数のウィンドウのメッセージを 1 つのマップで処理できます。
デフォルトでは、CWindowImpl
は代替メッセージ マップを使用しないことに注意してください。
このサポートを追加するには、派生クラスのWindowProc
メソッドをオーバーライドし、メッセージ マップ識別子を使用して呼び出します。CWindowImpl
ProcessWindowMessage
WTL を見ると、次のようなメッセージ マップが表示されます。
しかし、私は理解していません:
彼らがどのように呼ばれるか。(コードは代替メッセージ マップの存在をどのように認識しますか?)
デフォルトのメッセージ マップとの違い。それらはすべて、同じウィンドウに対して同じ種類のメッセージを処理しているように見えます...
なぜ便利なのか。(とにかく、それらはすべて同じウィンドウ用ではありませんか?)
代替メッセージマップが何をするかについて、誰かがより良い説明を持っていますか?
(なぜそれらが発明されたのかについての動機は非常に役に立ちます。)