トップページ⇒tech
1001コメント291KB

■MFC相談室 mfc11.dll■

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
Microsoft Foundation Classライブラリ専用スレです。

前スレ
■ VisualC++(MFC限定)相談室 MFC10.dll■
http://pc5.2ch.net/test/read.cgi/tech/1074104008/

関連リンクは >>2-10 の辺り。
0357デフォルトの名無しさんNGNG
>>354
不幸な人ですね
0358デフォルトの名無しさんNGNG
スルーできない香具師、大杉...orz
0359デフォルトの名無しさんNGNG
>>356
いい質問だが、それはあなたの国語力に依存するので
なんと言っていいのやら。
0360デフォルトの名無しさんNGNG
MFC・C++云々じゃなくて、スルーを覚えてから2chに来よう
0361デフォルトの名無しさんNGNG
>>358
>>360
お前もスルー覚えてこいよ。
0362デフォルトの名無しさんNGNG
不勉強=荒らし= >>188 =アホ
0363デフォルトの名無しさんNGNG
そこでBCBですよ奥さん
0364デフォルトの名無しさんNGNG
うんこ
0365デフォルトの名無しさんNGNG
>>363
BCB=うんこ

>>364
うんこ
0366デフォルトの名無しさんNGNG
>>363
BCBでMFC使おうとしてヘルプ見れないとか
言い出す奴いるからうんこ。
0367質問ですNGNG
void hoge(void)
{
  CPen myPen;


  myPen.DeleteObject(); ←これいるんですか?
  Delete myPen;      ←これもいるんですか?
}

CPenってスコープ外れる時に、この辺やってくれないの?
0368デフォルトの名無しさんNGNG
おまえら早く寝なさいっ!
オレモナー
0369デフォルトの名無しさんNGNG
だからもう、何もかも自分でググれよ、脳無し
0370デフォルトの名無しさんNGNG
>>367
だからコンパイルが通らない(ry
0371デフォルトの名無しさんNGNG
>>370
(ry の意味がねーだろ!!w
0372デフォルトの名無しさんNGNG
ここは本当によく釣れるインターネットですね
0373デフォルトの名無しさんNGNG
暇人ばっかり
0374デフォルトの名無しさんNGNG
見苦しいぞオッサン
0375デフォルトの名無しさんNGNG
こんな事してばっかりいるから
いつまでたってもBCBに追いつけないんだよ…
とマジレスしてみる
0376デフォルトの名無しさんNGNG
なんで急に釣りが増えたんだ
0377デフォルトの名無しさんNGNG
だって入れ食いなんだもん
0378デフォルトの名無しさんNGNG
厨房丸出しだね。どっちも。
0379デフォルトの名無しさんNGNG
暑さで逝っちゃいそうだからね...orz
0380デフォルトの名無しさんNGNG
っていうか、クーラー無しでがんばってる香具師いる?
0381デフォルトの名無しさんNGNG
自分の部屋にはクーラーありませんが。
0382デフォルトの名無しさんNGNG
ちょっと意味が違うorz
0383デフォルトの名無しさんNGNG
>>332
やっぱりCString便利だよね?
0384デフォルトの名無しさんNGNG
CString::LoadString()は重宝しています。
0385デフォルトの名無しさんNGNG
自作関数の引数にchar*となっているところをLPCSTRに書き換えてみろ。
CStringも渡せるぞ。すごいだろ。
0386デフォルトの名無しさんNGNG
char*とLPCSTRは違うけどな。
0387デフォルトの名無しさんNGNG
違うから意味がある。
0388デフォルトの名無しさんNGNG
LPCTSTR
0389デフォルトの名無しさんNGNG
ピクチャーボックスにファイルから選らんだビットマップを貼り付けたいのですが
どのようにすればいいのでしょうか?
0390デフォルトの名無しさんNGNG
えららんだ
0391デフォルトの名無しさんNGNG
>>390
糞レスはいりません。
0392デフォルトの名無しさんNGNG
(LPCSTR)(LPCTSTR)cstring; ってできるんだよね
0393デフォルトの名無しさんNGNG
>>392
出来るけど、UNICODEビルドではどうなっても知らないよ。
0394デフォルトの名無しさんNGNG
キャストは万能とか思ってる人多いなぁ
0395デフォルトの名無しさんNGNG
ヘ_ヘ
ミ・・ ミ ということにしたいのですね?
( ° )〜
0396デフォルトの名無しさんNGNG
質問です。

MFCを使わない標準DLLがあります。で、その中で機能追加のためスタティックライブラリを使おうとしてるんだが、
そのスタティックライブラリがMFCを使っています。
とりあえずヘッダはやりくりしてどうにかコンパイルはできましたが、リンク時に「DllMainは既に・・・」というエラーがでます。

MFC自体が持ってるDllMain?と標準DLLが持っているDllMainが衝突したりといった問題などあるように見えますが、
そもそもこういうことって出来ないんでしょうか?

0397デフォルトの名無しさんNGNG
1行目あたりから意味がわからん
0398デフォルトの名無しさんNGNG
>>397 それは君の読解力に問題ありかと
0399デフォルトの名無しさんNGNG
>>397
しつもんです。
0400282NGNG
>>395
ここんとこ急にフェミ猫のコピペが各スレで増殖し出したな。
俺に触発されたのか? :-P
0401デフォルトの名無しさんNGNG
>>396
そのスタティックライブラリをDLL化してそれを呼び出す
という逃げ方もあります。
0402デフォルトの名無しさんNGNG
>>396
スタティックライブラリの出来が悪くて、なぜかその中にDllMain()という関数があるんじゃないの (w
0403デフォルトの名無しさんNGNG
Document/View スタイルじゃないやり方(CFrameWnd + CWinApp)で、CWinAppにOnKeyDown等を加えてもメッセージが来ないんですが何故でしょうか?
Document/View スタイルだと動くんですが・・・。
0404デフォルトの名無しさんNGNG
コマンドルーティング
0405396NGNG
>>401
まぁそれが妥当かとは思うんですが、とりあえずファイル増やしたくないなぁと。

>>402
ん、、てことは普通はできるってことですかね?
まぁDllMain以外にもスレッドとかソケットあたりが変に混ざりそうでいやなんだけど、もうちょいもがいてみます。
0406403NGNG
>>404
サンクス。コマンドールーティング参考になりました。
しかし、間抜けでした。てっきりフレームワークで生成されるCChildViewクラスってAbout dialogのことだと思い込んでいて無視していたんですが、実はこれが入力メッセージを受け取る肝心なクラスだったんですね。
あーやだなこんな調子で今更MFCを覚えるの鬱。.NETって、あくまでも中間言語インタープリタだから、x86ネイティブコードという観点からいくとMFCの代替になりませんよね?
0407デフォルトの名無しさんNGNG
呼び出したメニューのIDを引数で渡してくれるメニュー用COMMAND関数を
作るにはどうしたらいいんでしょうか?
0408デフォルトの名無しさんNGNG
ON_COMMAND_RANGE
0409デフォルトの名無しさんNGNG
>>408
うぉー!ありがとう。解決しました。
0410デフォルトの名無しさんNGNG
最近やっとMDIの勉強始めたばっかで初心者的質問なのだが、、

今MDIの画像ビューア作ってるけど画像を選択して子ウィンドウが表示されたときに
クライアントの大きさを画像サイズといっしょにしたい。
で自分なりに調べたが
CMyDocument::OnNewDocument
↓
CMyView::OnInitialUpdate
↓
CChildFrame::ActivateFrame
画像データはOnNewDocumentで取得。
最後のフレームのところでSetWindowPlacementか使ってフレームの大きさを
決めたいわけだ。

で、、どうやったらフレームからドキュメントみえるんだ? ビューにも画像データのポインタ
渡してるからビューでもいいけど、、。

誰か助けて_| ̄|○
0411410NGNG
間違えた、、、
×CMyDocument::OnNewDocument
↓
○CMyDocument::OnOpenDocument
0412410NGNG
連書きすまん、、自己解決
CFrameWnd::GetActiveDocumentなるまんまの関数があった、、、。
もっとヘルプみます_| ̄|○
0413デフォルトの名無しさんNGNG
ヘルプを見ないで質問しちゃう奴は
C++を理解してないも同然
0414デフォルトの名無しさんNGNG
また出たよ。自称上級者が・・・ (;´Д`)
0415デフォルトの名無しさんNGNG
解答できない質問されるのがよほど悔しいのかね
0416デフォルトの名無しさんNGNG
じしょう 【自称】

(名)
(1)実体はどうあれ、自らこうだと称すこと。
0417デフォルトの名無しさんNGNG
>>416
まさに、ピッタシデナイノ
0418デフォルトの名無しさんNGNG
で、誰か自称したのか?
0419デフォルトの名無しさんNGNG
>>418
明言しなくても、言外に表れている。
それくらい解れよ。
0420デフォルトの名無しさんNGNG
>>419
自称知ったか君
0421デフォルトの名無しさんNGNG
荒らそうと必死だな
0422デフォルトの名無しさんNGNG
.aviをフォームの背景として再生するために
 CAnimateCtrl m_animate;
 //...
 m_animate.SetWindowPos(HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
 m_ctrl.BringWindowToTop();
という風にCAnimateCtrlのオブジェクトを一番下に、その他のコントロールを上の方に
持っていこうとしてるんだけど、直ぐにアニメーションが最前面になってしまいます。

何かうまい解決策はないもんでしょうか?
0423デフォルトの名無しさんNGNG
>>419
だからそれ、自分が上級者だと勘違いしているだけなんだから自称って言わないってば。
0424731NGNG
(Win32スレに誤爆したのでこちらに書き込みます。)
MFCフレームワークで、CWinApp, CMainFrm, CChildView という派生クラスを使う事を強要されますけど、どこにどういう機能を置けばいいのかいまいちピントきません。
リアルタイムでレンダリングするスクリーン、キー入力、パラメータ入力用のダイアログがあるので,
CWinApp -> OnIdle() レンダラーアップデート, CChildViewへの描画。
CChildView -> OnKeyUp(), OnMouseMove()等
CDialog -> CMainFrm::hoge->SendMessage(...) で入力パラメータを送る。
CMainFrm -> SendMessage(...)でクラス間のデータ受け渡し。
っていう感じでやっているんですが、クラスが保持している別クラスインスタンスへのポインタがprotectedになっていたりするので、SendMessage()のバケツリレーみたいになったりして、2度手間3度手間が多くて疲れます。
「プロはこうやる」っていうのがあったら教えてください。
0425デフォルトの名無しさんNGNG
>>424
CDocumentが出てきてないようだが、使ってないの?
0426デフォルトの名無しさんNGNG
>>424
プロはめんどくさいのでウィザードの吐いたコードいじって使います
0427デフォルトの名無しさんNGNG
プロはめんどくさいのでそもそもMFCを使いません
0428デフォルトの名無しさんNGNG
プロはSDKだけでプログラミングするなんて
非効率なことはしません。特別な事情がない限り。
0429デフォルトの名無しさんNGNG
ネタにマジレスすんな
0430本田NGNG
>「プロはこうやる」っていうのがあったら教えてください。

図書館で、
「MFCによるWindows95プログラミング」か「MFCによるWindowsプログラミング」
を借りて読んでください。
0431デフォルトの名無しさんNGNG
SDKだけでも、
こういうのを使えば素早く開発できます。


APPのコードをライブラリ化。
長文ソース簡略化で作業時間、効率を削減。

基本的なWin32システムを支援します。

最強のACライブラリー
ttp://www.geocities.jp/osoftjp
0432デフォルトの名無しさんNGNG
ネタなので放置な。
0433デフォルトの名無しさんNGNG
こういうことをMSがやったものがMFC
0434デフォルトの名無しさんNGNG
>>433
こういうこと、って?
0435デフォルトの名無しさんNGNG
MFCでお勧めの本ってある?
0436デフォルトの名無しさんNGNG
>>435
ttp://www.amazon.co.jp/exec/obidos/ASIN/1874416478
0437デフォルトの名無しさんNGNG
効率って削減したらダメじゃないか?
0438デフォルトの名無しさんNGNG
using namespace std; ・・・(1)

なんてことをすると、MFCのテンプレートのCArrayなどを使うときに問題がでますが、
using namespace std; する前の状態に戻すときは std の部分になんと書けばいいですか?
0439デフォルトの名無しさんNGNG
CTabCtrlについて教えてください。

VisualStudioにあるような平らなタブを作成したくて、CTabCtrlを継承してクラスを作成
SubClass化してDrawItemをオーバライドしたのですが、
DrawItem内では、TabCtrlの枠の描画はOS?依存らしく自前で描画が出来きないようです。

このようなタブをMFCを利用して作りたいときはどの様にすれば、よろしいのでしょうか?
ご教授いただきたく思います。

0440デフォルトの名無しさんNGNG
>>439
codeguruやcodeprojectに行けばあったと思う。
探してみて。
0441デフォルトの名無しさんNGNG
>>440
codeprojectにありました。
会員登録? して試してみたいとおもいます。
どうもありがとうございました。
0442デフォルトの名無しさんNGNG
>>436
この本初めてみたけどいいの?
USサイトではいいみたいだけど。。。
0443デフォルトの名無しさんNGNG
MFCはもうだめぽ
0444デフォルトの名無しさんNGNG
質問です
MFCを使用して、MSCommで通信を行っているのですがどうにも
解決できない問題に遭遇しました
当初Windows2000を使用していたのですが、WindowsXPに
もってきて動かすと受信がうまく出来ません。
受信部にイベントOnCommを使用しているのですが、2000だと問題なく受け
とれる受信イベントがXPでは受け取れません
RThreshなどはソフトで設定していて、値も正常に入っています
ポートオープンで失敗していることもありません
どなたか、同様の現象がでて、対応された方いらっしゃいますか?
開発環境は VC6+SP6です
0445デフォルトの名無しさんNGNG
日本人の書籍とアメリカ人の書籍を読み比べた結果、導き出された結論。

Windowsプログラミングを知り尽くしているのがアメリカ人。
Windowsプログラミングを知ったかしているのが日本人。

マイクロソフトの仕様変更を先読みしたプログラムを書くのがアメリカ人。
マイクロソフトが仕様変更したときに「仕様変えんな ゲイツ氏ね!」と泣くのが日本人。

MFCの不具合に文句を言い、不具合を修正して使うのがアメリカ人。
MFCの不具合に文句を言うだけで何も出来ないのが日本人。

MFCを一から教える書籍を売るのがアメリカ人。
Appウィザードで作成したテンプレートにコントロールを追加するだけの子供騙し書籍を売るのが日本人。

オリジナリティに溢れたMFCの書籍を売るのがアメリカ人。
他人からパクったネタを適当に並べただけの書籍を売るのが日本人。


やっぱ 日本人の書籍だけでは不十分。
どれもこれも同じようなものばっかりなんだもん(藁
0446デフォルトの名無しさんNGNG
↑みたいなこと必死に書くから日本人は馬鹿にされるんだな
0447デフォルトの名無しさんNGNG
>>445
著者の一人だが褒められて嬉しい
0448デフォルトの名無しさんNGNG
>>445
> MFCを一から教える書籍を売るのがアメリカ人。
> Appウィザードで作成したテンプレートにコントロールを追加するだけの子供騙し書籍を売るのが日本人。

入門用としてはやったことがすぐカタチになる後者の方がおすすめ
0449デフォルトの名無しさんNGNG
>>448
神頼み的な思想を植えつけない細心の注意が必要
0450デフォルトの名無しさんNGNG
CFrameWnd すら使うかどうか
習得パス設計との緊密なマッチングで決めること
TABオーダーでバグられた位でグラつく知識はダメ
0451デフォルトの名無しさんNGNG
MFCはダメなライブラリの見本
0452デフォルトの名無しさんNGNG
>MFCの不具合に文句を言い、不具合を修正して使うのがアメリカ人。

文句言うより他あたるのがアメ公
0453デフォルトの名無しさんNGNG
>>444
素直にAPIでやって下さい。
0454デフォルトの名無しさんNGNG
アメリカ人はコレ使うと決めたら他の選択肢捨てるよね
0455デフォルトの名無しさんNGNG
俺アメリカ人だけど、MFC自体捨てたよ
今はBCBで、バリバリ快調っす
0456デフォルトの名無しさんNGNG
面接で渋られたときのゴネ方が内容的にまるで違う
■ このスレッドは過去ログ倉庫に格納されています