問題タブ [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++ - リストビューとツリービューの色を変更する最も簡単な方法
WTLまたはプレーンWin32コードのテキストと背景の色listview
とコントロールを変更する簡単な方法を見つけようとしています。treeview
これらのコントロールに完全な所有者の描画を実装する必要はありません。使用する色を変更するだけです。
画像が適切な透明度で描画されていることを確認したいと思います。
助言がありますか?
c++ - Visual Studio C++ Express 2008 に WTL と ATL を追加する方法
自宅で Visual Studio C++ Express 2008 を使い始めましたが、ATL がありません。
Visual Studio C++ Express 2008 に ATL を追加するにはどうすればよいですか?
c++ - オブジェクト プロパティを WTL コントロールにバインドするためのフレームワーク
私はこのようなものが欲しいです:
また、カスタム検証を提供できれば素晴らしいと思います:
誰もこのようなものを見たことがありますか?
PS DDX は古くて柔軟性がなく、getter と setter を使用できないため、好きではありません。
c++ - ATL/WTL では、引き続きグローバル _Module 変数を使用する必要がありますか?
新しい ATL/WTL プロジェクトを開始したばかりですが、グローバル _Module 変数がまだ必要かどうか疑問に思っていました。
私が WTL を使い始めた数年前、(少なくとも ATL 3.0 では) 次のようなグローバル変数を定義する必要がありました。
ATL が正しく機能するようにします。しかし、最近、これはもう必要ないかもしれないということをどこかで読みました (それでも、ウィザードで生成されたコードはまだそれを使用しています)。また、Visual C++ のインクルード ディレクトリを検索したところ、いくつかの場所 (特に ATL COM レジストリ) で _Module しか検出されませんでした。
最近では、ATL を使用するためにグローバル変数を定義する必要がありますか?
internet-explorer - IE の ActiveX。ダイアログ ボックスに XP のビジュアル スタイルが表示されない
IE (7) に ActiveX コントロールがあります。ダイアログ ボックスを表示するときに、ダイアログ ボックスが XP ビジュアル スタイルで表示されません。私は無駄にマニフェストを埋め込もうとしました。誰かが何か考えましたか?ちなみに、ダイアログ ボックスは wtl を使用して実装されています。
c++ - BEGIN_MSG_MAP_EX は Visual Studio 2005 の Intellisense を壊しますか?
メッセージ処理に WTL/ATL BEGIN_MSG_MAP_EX マクロを使用する C++ アプリケーションがあります。atlcrack.h のマクロをいくつか使用します。
プロジェクトを Visual Studio 2005 にアップグレードしたところ、IntelliSense が異常な動作をしました。インテリセンスで正しく動作しない BEGIN_MSG_MAP_EX マクロまで、動作を追跡しました。しかし、BEGIN_MSG_MAP_EX と Visual Studio 2005 を使い続ける方法が見つかりません。
古いメッセージ ハンドラーをすべて書き直して、BEGIN_MSG_MAP_EX の使用をやめる必要がありますか、それとも別の修正方法がありますか?
c++ - アプリケーション終了時にアクセス違反を診断する方法
クラッシュをデバッグしようとしているアプリケーションがあります。ただし、いくつかの理由で問題を検出するのが困難です。
- クラッシュはシャットダウン時に発生します。つまり、問題のあるコードはスタックにありません。
- クラッシュはリリースビルドでのみ発生します。つまり、シンボルは使用できません。
クラッシュとは、次の例外を意味します。
この問題を診断するためにどのような戦略を使用しますか?
これまでに行ったことは、クラッシュの原因となる最小限のコードが得られるまで、プログラムからできるだけ多くのコードを削除することです。プロジェクトに静的にリンクされているコードで発生しているように見えるので、それも役に立ちません。
winapi - ATL ウィンドウ クラスの事前登録
プロジェクトで ATL と WTL を組み合わせて使用し、 から独自のクラスを派生させましたCWindowImpl
。これは次のようになります。
これで問題ありませんCMyControl::Create
。コントロールのインスタンスを作成するために使用すると、内部的には正常に機能し、CWindowImpl::Create
関数は Win32 クラス (この場合は と呼ばれますMyClassName
) を登録します。
ただし、この動作 (インスタンスの作成時に Win32 クラスが登録される) が頭痛の種です。Win32 呼び出しを使用してウィンドウを作成する別のサードパーティ ライブラリでクラス名を使用できるように、事前にクラスを登録できるようにしたいのですが、CreateWindowEx
これを行う簡単な方法が見つかりません。現在、クラス名static
として使用してこれを回避し、クラスをそれにアタッチするために使用しますが、これは面倒です。CreateWindowEx
CMyWindow::SubclassWindow
CWindowImpl
実際にウィンドウを作成せずに派生クラスを登録する方法を知っている人はいますか?クラス名をCreateWindowEx
正常に渡すことができますか? この問題に最初に遭遇することはできないため、ATL ウィンドウでこれを行う標準的な方法があると思います。
c++ - 子ウィンドウがマウス イベントを受け取れないのはなぜですか?
リストとカスタム スクロール バーを備えたパネルであるカスタム WTL コントロールがあります。
スクロール バーは、OnCreate() のパネルによって作成されます。
そのスクロール バーは、他の多くのダイアログ ウィンドウで正常に機能します。ただし、そのパネル コントロール内ではスクロール バーが表示されますが、マウス イベントはまったく受信されません。WM_MOUSEMOVE
パネルにハンドラーを追加すると、それが呼び出されます。
何が問題なのですか?
windows - MDI アプリのウィンドウが Win32 を使用してその親コンテナーを離れることをどのように許可できますか?
MDI アプリがあります。子ウィンドウの非クライアント タイトル バーにアイコンを追加して、ウィンドウを親 MDI コンテナーとは別にフローティングできるようにして、ユーザーが子ウィンドウを取得し、MDI の外側でデスクトップの周りに任意に配置できるようにしたいと考えています。窓。
私はそれが行われたのを見たので、それが可能であることは知っていますが、それを達成する方法を理解するのに苦労しています.
私は WTL (Windows Template Library) を使用していますが、これに MFC と Win32 のタグを付けています。これは、基本的な原則は同じであり、人々は Windows API のスペクトル全体の知識を持っている可能性があるためです。