問題タブ [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で子ウィンドウの状態がいつ変化したかをどのように判断しますか?
WTLを使用して簡単なGUIを作成しました。
ウィンドウの設定に関する限り、すべてを把握し、メニューなどを接続して、好きなように呼び出すことができます。ただし、たとえば、誰かがリストビューのチェックボックスの1つをチェックしたとき、または誰かがボタンをクリックしたときを知る必要があります。
これらの子ウィンドウは、状態の変化を通知するメッセージをメインウィンドウに送信しますか?その通知は、子ウィンドウのタイプ間で一般的に一貫していますか?
c++ - ATLとWTLの違いは何ですか?
「WTLはATLに基づいて構築されている」ことは知っていますが、実際にはどういう意味ですか?
ATLは機能の点でWTLのサブセットですか?(つまり、ATLのすべての機能はWTLにも存在しますか?)ウィキペディアでは、ATLの開発ステータスは「現在」であるのに対し、WTLの最新リリースは2009年半ばからであると述べています。つまり、Glass /Aeroやその他のWindows7機能を使用してWindows7ソフトウェアを作成したい場合、WTLでは作成できません。ATLはどうですか?
ATLとWTLでプログラムを作成する際のパフォーマンス/メモリの違いはありますか?
c++ - テキストの余白を修正
リッチエディット テキストの上/左マージンを設定して、指定された距離だけ上/左境界線から下/遠くにテキストを表示する方法は? 私はc++で書いています。
ありがとう
c++ - ATL\WTLアプリケーションで識別子が定義されていません
VisualStudio2010で新しいATL\WTLプロジェクトを作成しました。
CAppModule
、CMessageLoop
などの下に赤い線が表示されますが、エラーが発生します
識別子は未定義です
これはどのように解決できますか?
visual-c++ - 無限メッセージ ループがスタック オーバーフローを引き起こした後、WTL ウィンドウ/フォームがクラッシュする
バグを修正する必要がある古いプロジェクト、WTL/VC++ があります。問題の 1 つ - Ctrl+X または Ctrl+Z キーを使用した後のメイン ウィンドウ (もちろん、アプリケーション全体) のクラッシュ。これらのキーに割り当てられたカスタム アクセラレータはありません。「致命的な」キーの組み合わせにより、無限のメッセージループが発生することがわかりました
uMsg == 273 (0x00000111)
最終的にスタック オーバーフロー エラーでクラッシュします。
メッセージ処理機能にパッチを当てただけです-
BEGIN_MSG_MAP(CMDIChildWindowImpl)
* *
* *
END_MSG_MAP()
しかし、私はこの応急処置パッチに満足していません。何が起こっているのかを理解するのは良いことです.実際には、これらのキーの組み合わせで、フォームの Windows の既定の操作である「カット」と「元に戻す」を実行したいと考えています。
致命的なメッセージの詳細:
Ctrl+X -
uMsg 273 unsigned int
wParam 123171 unsigned int
lParam 0 ロング
lParam 0 ロング
Ctrl+Z -
uMsg 273 unsigned int
wParam 123179 unsigned int
lParam 0 ロング
これが意味をなさない場合は申し訳ありませんが、私の VC++ カンフーはかなり錆びています。どこでアイデアを探すべきか、誰かが私にヒントを与えることができれば、それは大歓迎です.
ありがとうございました!
O.
c++ - winapi を使用してリソース ビットマップ サイズを取得できません
白黒 bmp ファイルがあります。これは 8 BPP 画像で、サイズは 2048 * 2048 です。新しい WTL プロジェクトを作成し、[リソース] -> [ビットマップのインポート] -> [bmp ファイルの選択] -> [ MYBITMAPID
ID ] を指定します。
コードは次のとおりです。
デバッガーは、両方のサイズが 0 であると言います。
私は試した
そして同じ結果を得ました。
サイズは CBitmap クラスで取得できましたが、winapi はこの操作のみに使用したいと考えています。
リソースからビットマップをロードするにはどうすればよいですか?
wtl - CTreeViewCtrlのクリックイベントを取得
ツリービューの要素をクリックすることを意味します->リストビューにsthが表示されます。
私はこのようなコントロールを作成します(ツリーとリスト-> CTreeViewCtrlとCListViewCtrl)
イベント機能を持つパラメータは何ですか?
winapi - WTLを使用して複数のトラックバー間のフォーカスの変化を追跡する方法は?
WTL を使用して、複数のトラックバー (別名、すべて同じウィンドウ内のスライダー) 間のフォーカスの変化を追跡しようとしています。
これまでのところ、スライダーごとに MESSAGE_HANDLER(WM_SETFOCUS, func) と 1 つの COMMAND_HANDLER(IDC_SLIDERn, WM_SETFOCUS, func) を試しましたが、成功しませんでした。
msdn のトラックバー コントロールについてのページには、「WM_SETFOCUS はトラックバー ウィンドウを再描画します」と書かれています。..
編集: MESSAGE_HANDLER で WM_SETFOCUS を処理する独自のクラスからスライダーを派生させ、m_hWnd を lParam としてメッセージを投稿して親ウィンドウに通知することで、どのスライダーがフォーカスを得たかを親で確認できるようになりました。
これは機能しますが、これを行うためのよりエレガントな方法はありますか?
windows - WTL: 特定のコマンド ハンドラーで特定のコマンドを処理するには
私はWTLの初心者です。
私が取り組んでいるプロジェクトのクラスの 1 つは、WTL GUI クラスです。そのメッセージ マップには次のレコードが含まれます。
OnMenuClick
WM_COMMAND
メニューのクリック後に送信されるすべての を処理します。OnMenuClick
他のすべてのメッセージを処理しながら、特定のメッセージに対して別のコマンド ハンドラーを設定する方法はありますか?
私はこれを試しました:
動作し、コマンドをOnStartTask
処理ID_START_TASK
しますが、宣言の順序に依存します。文字列の宣言順序を変更すると、コマンドがOnMenuClick
処理されID_START_TASK
ます。
私はVS 2008 + WTL 8.0を使用しています
c++ - WS_TABSTOP がウィンドウの描画順序に影響を与える原因は何ですか?
WTL では、CBitmapButton は PNG のような透明なレイヤーを持つ画像をサポートしていません。そのため、GDI+ を使用して PNG を描画するようにコードをカスタマイズし、CPNGButton という名前を付けます。しかし、win XP では状況が奇妙です。ボタンが他のウィンドウと重なっている場合、ボタンは最初に WM_PAINT を受け取り、次に親を受け取り、誤った結果を引き起こします。
--->
リソースを確認し、ボタンのテンプレートから WS_TABSTOP 属性を削除すると、問題なく動作し、親ウィンドウが最初に WM_PAINT を受け取り、次にボタンを受け取ります。WS_TABSTOP がウィンドウの描画順序に影響を与える原因は何ですか?