初めまして、noneといいます。
よくOfficeXPやVisualStudio.NETのようなメニューやツールバー等のインターフェイスを持つ
アプリを見かけるのですが、あれはどのようにして実現しているのでしょうか?
単に見た目を真似しているだけなのか、それともMSが用意した何らかのパーツを利用しているの
か、ヒントだけでも教えていただければ幸いです。
MFCのアプリケーションウィザードって使ったこと無いの?
開発環境はどんなので実現したいの?
入門書は読んだこと無いの?
そうですね。ごめんなさい。環境を書くべきでした。
開発環境はVisualStudio.NET 2003を使っていますが、C+APIでもMFCでもC#でも構いません。
.NET Frameworkではあの見た目をサポートしてないようなので、たどり着くのはおそらく同じ
方法ではないかと思い、環境は書いてませんでした。
MFCはまだあまり使ったことがないのですが、ウィザードで選択できるんですか?
それらしい項目は見あたらなかったので、もし良ければ詳しく教えてください。
> OfficeXPやVisualStudio.NETのようなメニューやツールバー等のインターフェイス
がはっきり分からないのですが。
具体的にどのようなものでしょうか?
Spy++をお持ちであれば、そのコントロールについてウィンドウ検索してみてはいかがで
しょうか?
> 具体的にどのようなものでしょうか?
例えばWindows2000で見た場合、エクスプローラ等のツールバーは背景が灰色で、ボタンにマウ
スカーソルを重ねると浮き出て表示されますよね?(フラットボタン表示)
しかし、VS.NET 2003のツールバーはカーソルを重ねると、青色の枠が表示されます。
同様に、OfficeのExcel 2003のツールバーは、背景にグラデーションが掛かっていて、丸みが
かったようなデザインです。
最近この新しいデザインを真似たソフトをよく見るようになったので、その方法を知りたいんで
す。
新しいデザインを実装しているソフトは、例えばSleipnir 1.66やSocketDebuggerなどです。
Spy++でウィンドウ検索もしてみたのですが、知識不足のせいかもしれませんが、分かりません
でした。
単にToolBarをマニフェストファイル等でXp風にしているだけなのでは?
> 単にToolBarをマニフェストファイル等でXp風にしているだけなのでは?
なんかちがうぽい。
> SocketDebugger
のスクリーンショットをみてどんなものか分かりました。
# こういうのはどのようなものか分かるようなリンクを載せたほうがいいと思います。
> Sleipnir 1.66
もっていたけど、そんなふうになっていたっけかなぁ?
(いまは、2.2 なんで確認できない)
MFC の場合は外部ライブラリを利用しているのでしょう。
例えば、
Professional User Interface Suite(フリー版/有償版)
ttp://www.codeproject.com/docking/prod_profuis.asp
ttp://www.prof-uis.com/
ツールバーだけでも1万行くらいありますね。
さすがに自前で実装するのはきついと思われ...
最低限、英語は読めないと使い方もわからんでしょうが、
自分はある程度コードを読んで自分でメンテ(ソース修正)できるくらい
にまでならないと怖くて使えないですね。
日本語Windows環境固有の問題もあるかもしれないし。
で、.NET ですが、Ver2.0 で Office2003 風のツールバーがサポートされてます。
ttp://www.atmarkit.co.jp/fdotnet/special/win20review01/win20review01_01.html
VS2005 を入手すれば VB, VC#, VC++/CLI で使えます。
無償の Express Edition(日本語版) が既にダウンロード可能になってます。
ttp://www.microsoft.com/japan/msdn/vstudio/express/
ポトペタでサクッと Office2003 風な見栄えのアプリが作れるです。
補足。
>VS2005 を入手すれば VB, VC#, VC++/CLI で使えます。
C++ がお気に入りな方は VC++/CLI でどうぞ。
VB, VC# にひけをとらないくらい使いやすくなってます。
ポトペタもOKだし、従来構文はそのまま、追加の構文をちょっと覚えるだけです。
情報有り難うございました。
うーん、簡単にはいかないってことですかあ。
1万行もあるってことは、隠しAPIじゃないですけど、そんな感じでパーツとして用意されてる
とかじゃ無いんでしょうね。:'(
でも.NET 2.0で出来るんですね!
そっちの方は全然調べて無かったんですけど、これは期待できそうですね。
みなさん本当に有り難うございました。