- ベストアンサー
オリジナル・コントロールの作成VC++6
こんにちは。 参考書を見ながらCでWindowsのプログラムを書いていこうと思ってますが、実際のアプリケーションには本に出ていないコントロールが実装されています。これらはどうやっているのでしょうか? 例: メニューにアイコン?が表示される物 チェックボックスやアイコンの付いたリスト 表示の関係で>>の様な場所をクリックすると隠れたメニューが出てくる 3ペインのウインドウなどでドラッグするとウインドウを抜け出す(フローティング・ツールバーの様な物) などなど、挙げるときりがないのですが、コモンコントロールにも見あたらないようでして、これらは1から「自前で実装」されているのでしょうか? Delphiにはかなり便利なコントロールが多いのですが。 乱筆ですがどなたかアドバイスをお願いいたします
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
★この質問読んでみて。 >実際のアプリケーションには本に出ていないコントロールが実装されています。 ↑ 持っている本には書かれていないだけではないのですか? >メニューにアイコン?が表示される物 ↑ (1)メニューにビットマップを割り付ければ出来ます。 (2)メニューをオーナードローしても出来ます。 >チェックボックスやアイコンの付いたリスト ↑ 『リスト』とはリストボックスですよね。 (1)チェックボックス付きのはリストビューというコントロールを使います。 このコントロールでチェックボックスをだしてヘッダ部分を非表示にすれば良い。 ※見た目はチェックボックス付きのリストボックスになります。 (2)アイコン付きのリストボックスもリストビューを使うことで実現可能です。 ヘッダ部分を非表示にすればリストボックスのように見えます。 >表示の関係で>>の様な場所をクリックすると隠れたメニューが出てくる ↑ これはオーナードローで『>>』を描画してそこをクリックされたらプログラムで 隠れているであろうメニュー項目を動的にメニュー登録すれば良いだけです。 ・回答者 No.2 さんのお礼にある >やはり標準で手軽に利用させてくれるコントロールとしては無いんでしょうね… ↑ 既存のクラス、ライブラリを使えば簡単なこともあります。 それらを利用すれば例えば『スプリット・ウインドウ』などが簡単に実現できます。 自分で実装する場合は http://hp.vector.co.jp/authors/VA016117/splitwnd.html の サイトなどを参考に作ることも出来ます。アイディアしだいかな。 >チェックボックス付きリストやアイコン付きメニューは完全にお手上げです。 ↑ これはさっき紹介したね。 リストビューを使えば『お手上げ』にはならない気がしますけど。 リストビューというコモンコントロールは使ったことがありますか? 他にもツリービューとかいろいろとあります。 ・以上。オリジナル・コントロールの作成は結構面倒ですよ。スキルアップの為なら良いが…。
その他の回答 (3)
- clsdi99
- ベストアンサー率63% (31/49)
英語のサイトですが、いろいろな人がいろんなコントロールを公開しているサイトがあります。 ほとんどがソース付ですので勉強してみてください^^ http://www.codeguru.com
- 参考URL:
- http://www.codeproject.com
- maguro999
- ベストアンサー率21% (59/273)
Win32APIを直接利用する。 >表示の関係で>>の様な場所をクリックすると隠れたメニューが出てくる これにいたってはプログラム的に手動で処理を作れるでしょうね。
お礼
解答ありがとうございます やはり標準で手軽に利用させてくれるコントロールとしては無いんでしょうね… >> ↑については自力で何とか成りそうな気もしますが、チェックボックス付きリストやアイコン付きメニューは完全にお手上げです。
- php504
- ベストアンサー率42% (926/2160)
ドッキングウィンドウは下記のサイトのクラスを使用して作ったことがあります http://www.datamekanix.com/
お礼
ありがとうございます. 標準の物や読んだ数が少ないですが参考書にある物は、実際見るアプリケーションより、気の利いたコントロールが出てくることが多いのですが…さて…どうやれば…リンク先見てみます. 引き続きアドバイスいただける方がいましたらよろしくお願いいたします.
お礼
おはようございます。 丁寧な解答ありがとうございます、頑張ってみます!質問の内容はもう古い物だと思うんですがのですが、最近は色々変わったインターフェイスが出てきて調べが甘かったです。 >オリジナル・コントロールの作成は結構面倒ですよ だと思います、1から全部構築となると負担は大きいですよね・・