私のC++ win32アプリケーションに単純なテキストボタンを追加したいと思います。私は、CreateWindowEx関数を使用してボタンを作成していますが、そうする正しいスタイルを理解することはできません。私はテキストのみのボタンを表示し、ユーザーがそれをクリックするとメッセージを受け取りたいと思っています。私が得たいスタイルは、Windows 7のシステム音量コントロール(「ミキサー」と書かれています)のテキストボタンと同じです。可能であれば、私はツールチップも表示したいと思います。ミキサーコントロールがより多くのボタンよりハイパーリンクコントロールのように見えることC++ win32テキストのみのボタンを作成
答えて
BS_OWNERDRAWスタイルの "Button"クラスウィンドウを作成し、WM_DRAWITEMメッセージを処理できます。 WM_DRAWITEMメッセージハンドラでは、単にテキストを表示することができます。
。それが必要な場合は、SysLink
コントロールに行きます。
実際にはそのボタンはオーナーの描画ボタンです。マウスの移動メッセージを聴き、その上にマウスを置くと、テキストに下線が引かれます(syslinkコントロールにはこの動作がありません)。それ以外の場合は在庫ボタンです。
なぜSysLinkではなくオーナーの描画ボタンを選択しましたか?おそらくあなたはホットトラッキングサポートを追加するためにSysLinkチームを説得できたでしょうか?または、所有者の描画ボタンのいくつかの利点はありますか?おそらくアクセシビリティ。 –
利点の1つは、SysLinkチームの機能要求を提出する代わりに、今すぐあなたの問題*を解決できることです。その後、決定を延期してから、 「申し訳ありません、私たちは時間がなくなりました」という要求に応えています。あなたは最後に完全に回避可能な緊急事態を作りました。今、最後の段階でバグを修正する必要があります。 –
レイモンドさん、ありがとうございました。問題のボタンは約150〜200行のコードであり、その大半はテーマが無効になっているケースを処理するために費やされます。 –
- 1. C#Win32ファイルの読み込みイベント
- 2. イメージビューとテキストhtmlのボタンを作成
- 3. コードのみのボタンを作成する
- 4. ボタンをJavaのみで作成する
- 5. C#マウスの周りにボタンを作成
- 6. 「テキストを読み込む」ボタンを作成するときのエラー1119
- 7. Cの画像ボタンのテキスト#
- 8. C++ Win32アプリケーションの3つのボタン上にビットマップを描画
- 9. クリックしてテキストを作成するボタンを作成するCoffeescript
- 10. C#で動的に作成されたボタンのテキストを取得しますか?
- 11. Win32 C++でカスタムシェイプコントロールを作成する方法
- 12. C++ win32リストボックスとスライダでウィンドウアプリケーションを作成する
- 13. Qt CreatorでWin32アプリケーションを作成する
- 14. IDMボタンのようなC#winformのボタンを作成
- 15. C#Unity仮想ボタンの作成
- 16. C Win32 DLLをプログラムで生成する
- 17. テキスト+ボタン付きのボタンの作成方法テキスト付きのボタンと同じサイズの
- 18. 複数のボタンをtkinter内の別のテキストで作成する
- 19. win32のDockウィンドウC++
- 20. C++ win32リストビューの列
- 21. C#.NetのWin32アプリケーション
- 22. C++ Win32コンソールの色
- 23. ループ内のファイルからテキストを読み込んでリンクリストを作成するC++
- 24. 透明な画像のwin32 C++オーナー描画ボタン
- 25. ボタンをc#からasp.netページに作成
- 26. CreateWindowでwin32モーダルウィンドウを作成する
- 27. Win32でFILETIMEを作成するには?
- 28. win32で名前付きデバイスを作成
- 29. C#プログラマチックに作成されたリッチテキストボックスを作成し、ボタンからテキスト値を取得する
- 30. C/C++コンソールWindows WIN32
テキストのクリックに対してのみ反応し、ホットリンク処理を行う必要があります。 –