問題タブ [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.
winapi - Win32/WTL-チェックボックスのイメージリストの状態がチェックされていない状態に戻ります
DirectShowアプリのビデオコントロールを保持するために、WTLでカスタムウィンドウを作成しています。
「プッシュのような」方法(BS_PUSHLIKE)で動作させたいチェックボックスのセットを作成しました。これらは、次のようにダイアログの.rcファイルで定義されて表示されます。
ボタンの画像リストもロードしました。これは、ボタンがLButtonDown状態とLButtonUp状態にあるときに適切な画像を正しく表示します。
以下のコードでは、m_btnVid1はWTL::CBitmapButtonとして定義されています
マウスボタンを離すとすぐに、チェックボックスの状態が「チェックされていない」状態に戻ります。
IDC_VID1コントロールにCOMMAND_ID_HANDLER_EXを追加して、コントロールの状態を判別しましたが、nState変数は常に0を読み取ります。
これがなぜであるかを誰かが提案できますか?CBitmapButtonに作成スタイルがありませんか?
それが役に立ったら、どういうわけかオンラインでVC2008ソリューションファイルを投稿できると確信しています。
winapi - 所有者の描画リストボックスのDrawItemメソッドを呼び出せないのはなぜですか
WTLを使用して所有者描画リストボックスを作成しようとしています。私のコードは次のようになります
また、親のメッセージループに追加REFLECT_NOTIFICATIONS
し、プロパティシートで[所有者の描画]を[固定]に設定しました。しかし、それでもメッセージを受信できません。次に、spy ++を使用してリストボックスが受信するメッセージを調べたところ、非常に奇妙なメッセージが見つかりました(WM_USER+7211
)。
私のOSはWinXpで、VS2008を使用しています。
winapi - 最小化または復元時にWM_SIZEメッセージが表示されない
MSDNによると、ウィンドウが最小化または復元されたときに、WM_SIZEをウィンドウに送信する必要があります。しかし、WTL CDialogImplである私のアプリケーションウィンドウは、最小化または復元時にWM_SIZEを取得しません。
spy ++を使用してチェックします。WM_SYSCOMMAND、WM_WINDOWPOSCHANING、WM_ACTIVE、WM_ACTIVEAPPなどを取得できますが、WM_SIZEは取得できません。
他のいくつかのWTLサンプルアプリケーションを確認しました。最小化または復元すると、WM_SIZEメッセージを取得できます。
私の質問は、WTL CDialogImplウィンドウがWM_SIZEを受け取らないのはなぜですか?これに加えて、復元または終了を最小限に抑えることを示す他のメッセージはありますか?つまり、システムでは、ほとんどの場合、最小化/復元プロセスを示すアニメーションがあります。復元時にアニメーションが完了したことをアプリに知らせるメッセージまたはイベントが必要です。
ありがとう!
ウィリアムL.
c++ - WS_EX_COMPOSITEDによるちらつきのないタブコントロール
WTL8.1を使用して開発されたWindowsXPSP3用のVS2008C++アプリケーションがあります。私のアプリケーションには、アプリケーションの境界線のサイズが変更されたときにちらつくタブコントロールが含まれています。
私のウィンドウ階層は次のようになります。
私が試している解決策は、CFrameWindowImpl
派生クラスにWS_EX_COMPOSITED
スタイルを使用させ、その下のすべてのウィンドウにスタイルを使用させることWS_EX_TRANSPARENT
です。残念ながら、これにより、タブコントロールボタンが空の黒いバーとして表示され、構成ビューのコントロールがまったく表示されなくなります。
WS_EX_COMPOSITED
とWS_EX_TRANSPARENT
スタイルを削除すると、フォームは正しく表示されますが、CTabView
サイズを変更すると、その下のすべてがひどくちらつきます。
ちらつきをなくし、コントロールを適切に描画するには、何を変更する必要がありますか?
ありがとう、PaulH
編集:動作しました。WS_EX_TRANSPARENT
MarkRansomの提案に従ってすべてのスタイルを削除しました。(内に含まれる)のみにWS_EX_COMPOSITED
スタイルを配置します。他のコントロールは、必要に応じてを介してダブルバッファリングを取得します。CTabCtrl
CTabView
WTL::CDoubleBufferImpl<>
atl - ATLまたはWTLでメニュー項目のクリックイベントを発生させる方法は?
現在、ON_WM_SELECT messgaeを使用していますが、メニューの上にマウスを置くと起動します。
c++ - WTLまたはWindowsSDK(MFCなし)を使用してTitleAreaDialogを作成するにはどうすればよいですか?
WTLまたはWindowsSDKを使用してTitleAreaDialogを作成しようとしています(MFCは使用しないでください)。グーグルから私はこれらの2つのリンクを見つけることができます:
- http://www.codeproject.com/KB/dialog/dialogheader.aspx(MFCの記事)
- http://www.codeproject.com/KB/dialog/taskdialogs.aspx (疑わしい..使用方法)
必要な出力は、Eclipse JFace TitleAreaDialogのようなものです(下の画像を参照)。
singWTLまたはWindowsSDK(c ++を使用)を使用してこれを行う方法を提案してください。
ありがとう
windows - SendDlgItemMessage を使用する必要がありますか、それとも WTL にラッパーがありますか?
というダイアログ リソースに Listbox コントロールを追加しましたIDC_LIST1
。を使用してこのコントロールと対話する必要SendDlgItemMessage()
がありますか、または WTL を使用するより良い方法はありますか? これが私のイベントハンドラーです。それはまだ派手なものではありません!
c++ - Windows メッセージ ループと WTL
私は WTL の仕組みを理解しようとしていますが、メッセージ ループが今私を混乱させています。
たとえば、次のコード フラグメント:リンク
最初にウィンドウが作成され、その後メッセージ ポンプが開始されます。なぜそれが機能するのですか?CreateEx、UpdateWindow などは、WM_CREATE/WM_PAINT/WM_NCPAINT のような独自の目に見えないメッセージを送信することになっていませんか? メッセージ ポンプが初期化されていない場合、メッセージはどこにスローされますか? ウィンドウを作成し、メッセージ ループを開始してからウィンドウを閉じた後、その場所に新しいウィンドウを作成したい場合はどうなるでしょうか。PostQuit はループを終了し、新しいものを作成する必要がありますか?
visual-studio-2010 - VC++ 2010 テンプレート typedef typename エラー
プロジェクトを VC++ 2010 に移行しようとしています プロジェクトにはファイル TabbedMDI.h (Danial Bowen 作) が含まれており、"named の後に '::' が続く場合、"typedef typename TClient: :TTabCtrl TTabCtrl;"
コードスニピットが続きます
c++ - WTL/Winapi のメッセージ ハンドラー内からのモーダル ウィンドウ
バックグラウンド処理を行うメッセージのみの WTL ウィンドウを持つ小さなアプリケーションがあります。しかし、状況によっては、モーダルとして動作するウィンドウを表示したい場合があります。つまり、ユーザーがボタンをクリックするまで、メッセージのみのウィンドウのメッセージ ハンドラーは返されません。
私はこのようにできると思っていました(疑似コード):
しかし、試してみると、ウィンドウは問題なく作成されますが、キーを押すと、通常のウィンドウのように1文字ではなく、モーダルウィンドウの編集ボックスに数十文字が出力されます。
おそらく私は何か間違ったことをしているのですが、何が正しいアプローチであるべきかわかりません。モーダル ウィンドウは完全にコード生成されています。