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

c++ - WTLで子ウィンドウの状態がいつ変化したかをどのように判断しますか?

WTLを使用して簡単なGUIを作成しました。

セキュリティセンター消しゴム

ウィンドウの設定に関する限り、すべてを把握し、メニューなどを接続して、好きなように呼び出すことができます。ただし、たとえば、誰かがリストビューのチェックボックスの1つをチェックしたとき、または誰かがボタンをクリックしたときを知る必要があります。

これらの子ウィンドウは、状態の変化を通知するメッセージをメインウィンドウに送信しますか?その通知は、子ウィンドウのタイプ間で一般的に一貫していますか?

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

c++ - ATLとWTLの違いは何ですか?

「WTLはATLに基づいて構築されている」ことは知っていますが、実際にはどういう意味ですか?

ATLは機能の点でWTLのサブセットですか?(つまり、ATLのすべての機能はWTLにも存在しますか?)ウィキペディアでは、ATLの開発ステータスは「現在」であるのに対し、WTLの最新リリースは2009年半ばからであると述べています。つまり、Glass /Aeroやその他のWindows7機能を使用してWindows7ソフトウェアを作成したい場合、WTLでは作成できません。ATLはどうですか?

ATLとWTLでプログラムを作成する際のパフォーマンス/メモリの違いはありますか?

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

c++ - テキストの余白を修正

リッチエディット テキストの上/左マージンを設定して、指定された距離だけ上/左境界線から下/遠くにテキストを表示する方法は? 私はc++で書いています。

ありがとう

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

c++ - ATL\WTLアプリケーションで識別子が定義されていません

VisualStudio2010で新しいATL\WTLプロジェクトを作成しました。

CAppModuleCMessageLoop などの下に赤い線が表示されますが、エラーが発生します

識別子は未定義です

これはどのように解決できますか?

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

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.

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

c++ - winapi を使用してリソース ビットマップ サイズを取得できません

白黒 bmp ファイルがあります。これは 8 BPP 画像で、サイズは 2048 * 2048 です。新しい WTL プロジェクトを作成し、[リソース] -> [ビットマップのインポート] -> [bmp ファイルの選択] -> [ MYBITMAPIDID ] を指定します。

コードは次のとおりです。

デバッガーは、両方のサイズが 0 であると言います。

私は試した

そして同じ結果を得ました。

サイズは CBitmap クラスで取得できましたが、winapi はこの操作のみに使用したいと考えています。

リソースからビットマップをロードするにはどうすればよいですか?

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

wtl - CTreeViewCtrlのクリックイベントを取得

ツリービューの要素をクリックすることを意味します->リストビューにsthが表示されます。

私はこのようなコントロールを作成します(ツリーとリスト-> CTreeViewCtrlとCListViewCtrl)

イベント機能を持つパラメータは何ですか?

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

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 としてメッセージを投稿して親ウィンドウに通知することで、どのスライダーがフォーカスを得たかを親で確認できるようになりました。

これは機能しますが、これを行うためのよりエレガントな方法はありますか?

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

windows - WTL: 特定のコマンド ハンドラーで特定のコマンドを処理するには

私はWTLの初心者です。

私が取り組んでいるプロジェクトのクラスの 1 つは、WTL GUI クラスです。そのメッセージ マップには次のレコードが含まれます。

OnMenuClickWM_COMMANDメニューのクリック後に送信されるすべての を処理します。OnMenuClick他のすべてのメッセージを処理しながら、特定のメッセージに対して別のコマンド ハンドラーを設定する方法はありますか?

私はこれを試しました:

動作し、コマンドをOnStartTask処理ID_START_TASKしますが、宣言の順序に依存します。文字列の宣言順序を変更すると、コマンドがOnMenuClick処理されID_START_TASKます。

私はVS 2008 + WTL 8.0を使用しています

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

c++ - WS_TABSTOP がウィンドウの描画順序に影響を与える原因は何ですか?

WTL では、CBitmapButton は PNG のような透明なレイヤーを持つ画像をサポートしていません。そのため、GDI+ を使用して PNG を描画するようにコードをカスタマイズし、CPNGButton という名前を付けます。しかし、win XP では状況が奇妙です。ボタンが他のウィンドウと重なっている場合、ボタンは最初に WM_PAINT を受け取り、次に親を受け取り、誤った結果を引き起こします。

ここに画像の説明を入力--->ここに画像の説明を入力

リソースを確認し、ボタンのテンプレートから WS_TABSTOP 属性を削除すると、問題なく動作し、親ウィンドウが最初に WM_PAINT を受け取り、次にボタンを受け取ります。WS_TABSTOP がウィンドウの描画順序に影響を与える原因は何ですか?