Microsoft Visual C++ 6.0 で、ダイアログベースのSDKプログラミングをしながらも、リソースだけ、MFCでできるように、書くのではなくてマウスでピロピロとしたいです。

手続きを教えてください。
 あと、自分の主観で結構です。MFCを嫌がるわけがしりたいです。私もMFCは自分で書いたソースコードではないので、気分的に嫌です。それ以外にどのようなデメリットがあるのでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/11/06 15:07:33
  • 終了:--

回答(3件)

id:nitscape No.1

nitscape回答回数526ベストアンサー獲得回数02005/11/06 15:20:24

ポイント70pt

「マウスでピロピロとしたい」という意味が分からなかったのですが...

MFCのダイアログ(Dialog)をMFC以外のプロジェクトから使いたいということでしょうか?おそらくCDialogを呼び出して使うことはできないと思います。

MFCではありませんが、ATL(WTL)のCWindowImpl派生クラスのCDialogImplであれば可能です。

URLに書かれている方法でWTLをインストールし、アプリケーションウイザードでMFCの場合と同じようにダイアログ派生プロジェクトを生成します。そしてstdafx.hに書かれている内容をSDKで作成したプロジェクトに追加し、AboutDlg.hで書かれている内容を適宜変更してコピーすればOKです。

あとは

CaaaDlg dlg:

dlg.DoModal();

という感じでダイアログを生成できます。


私はMFCは特に嫌ではありませんが、最近はあまり使っていません。まず作成したEXEが単独では動作せず、DLLが必要になる点、スタッティックビルドすればDLLは不要ですが、EXEサイズが大きくなる点がデメリットだと思います。

あとメッセージマップなどが静的に宣言されているためクラスの中でウインドウクラス+メッセージマップを宣言するのが面倒(WTLは非常に簡単)という点もデメリットに感じます。またEXEではなく、DLLからウインドウを生成しようとするとMFCのクラスはリソースが見つけられないことがある点もデメリットです(マクロを利用することでリソースを見つけることができるようになっていますが、実際にはバグがありいくつかのクラスでは見つけられません)。

ざっと思いつくデメリットはこの辺でしょうか?しかしWindowsプログラミングの駆け出しの頃はMFCがあったおかげでWindowsプログラミングができるようになり助かりました。楽にプログラミングできるというメリットは非常に大きいと思います。

id:ymlab

表現が不適切で申し訳ございません。

マウスでピロピロしたいというのは、GUI部分は、リソーススクリプトを使いたいということでした。

WTL、面白そうですね。よく雑誌に名前が取り上げられていますが、特に意識をしていませんでした。

MFCのプログラミングにDLLが必要だとは知りませんでした。

なんだかVBみたいですね。

MFCは確かにSDKでゴリゴリ書くよりも楽だとは思うのですが、楽さを求めるのであればVBでよいわけで、なんでMFCの本が多いのかが[Win32APIの本があまり見つけられない・・]わからないのです。

貴重な回等ありがとうございました。

2005/11/06 15:45:47
id:karla No.2

karla回答回数130ベストアンサー獲得回数42005/11/06 22:42:54

ポイント50pt

http://homepage2.nifty.com/Fujimaki/download/Comparison/

主な開発ツールの数値計算速度比較

私が感じるMFCのメリットとデメリットです。


まずメリットとしては産性の高さがあります。

広く一般に使われているライブラリなので不具合も少なく、新規に自作するよりも短い時間で開発ができます。

よく使われるJavaやC#などもライブラリが豊富な言語です。


デメリットはMFCのDLLのバージョンによって不具合がある場合でしょうか。

あとはVCに慣れてないとソースコードの可読性に欠けますね。


また、VBはプログラミングを意識させない開発環境で、VCはプログラミングによる高機能な開発をターゲットとしています。

VBを使うのはサンプル画面を作るぐらいでしょうか。

細かい事をやろうとすると、VCでAPIを使ってるのと対して変わらない内容となってしまいます。

速度もVCより遅いですし、VBを使うメリットがあまりない状況となります。

id:ymlab

ご回答ありがとうございます。

VBとVCの違いについては、

その通りだと思います。

しかし、細かいことをやろうとしなかったり、個人で作る程度の

小、中規模の量ならば、VBでいいのでは?と思ったわけです。

会社にいたときも私はVCでした。でもMFCではありませんでした[あまりにも規模が大きくて、自分の担当とそのまわり以外はなんのこっちゃわかりませんでしたし、サービス関数も全部別の人が作ったものをコールする感じだったので、MFCやSDKとかあんまり関係なかったですが]。

しかし、やっぱりVBの案件の人もいましたし、何故、簡単だからという理由でMFCをわざわざつかうのだろう。と思ったのです。簡単だからという理由ならば、VBの方がMFCよりももっと簡単で生産性が高いです。

あ、最後に私はVBを擁護するつもりはまったくないですよ:-)

2005/11/06 23:12:37
id:aki73ix No.3

aki73ix回答回数5224ベストアンサー獲得回数272005/11/07 02:01:35

ポイント500pt

http://d.hatena.ne.jp/aki73ix/20051106

Aki in the Sky II - SDKで作ってみよう

ダイアログベースのSDKプログラミングでリソースをエディタで簡単に使う手順をダイアリのほうにまとめてみました


覚えておくとかなり楽です


MFCが嫌がられる訳ですが

1.MFCはWindows95時代は、必ずしもDLLがインストールされているとは限らず、ランタイムのインストールが必要だったために、ユーザーに不便をかける恐れがあった・・・・今のWindowsにはMFCのDLLが最初から入っているので、そんなことを心配する必要はないのですが、OSに用意されている機能の拡張DLLを呼んでいるような気がするので、軽いアプリケーションを作る時にはMFCを使うといけないような気がするとかじゃないでしょうか(外部DLLを呼ぶと確かにメモリは使いますが実際は不明です)


2.当初MFCにはバグが沢山あったので、現在も生理的に嫌う人がいるという話はあります


VBよりMFCを使う人は、VBを使っているとプログラムしている気分にならないとか、VBで出来ないことをしたいとか、VBのスピードの遅さがいやだとかだとおもいます

確かに、MFCよりもVBの方が簡単なアプリを作るなら楽ですが、私に言わせると、それよりDelphiの方が高速なアプリを、もっと楽に作れるんだけどなと思ったりするわけですが

id:ymlab

aki73ixさん。

ものすごく丁寧な回答ありがとうございました。

わざわざ、私のダイアリに書き込みをしてくださって、さらにページを作ってくださってありがとうございました。

上記ページを手順にすると、うまくつくれそうです。

ありがとうございました!

2005/11/07 02:23:12

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • ネット右翼dasmの(´・ω・`)日記(棒読み ネット右翼dasmの(´・ω・`)日記(棒読み 2006-03-13 16:13:14
  • SDKで作ってみよう SDKで作ってみよう 2006-03-13 16:13:14
    とりあえず、こちらの質問を詳しく http://www.hatena.ne.jp/1131257253 f:id:aki73ix:20051107013307g:image f:id:aki73ix:20051107013515g:image とりあえずプロジェクトを作ってみましょう f:id:aki73ix:20051107013555g:image リ
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません