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

■MFC相談室 mfc17d.dll■

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2006/11/21(火) 10:38:31
Microsoft Foundation Classライブラリ専用スレです。

前スレ
■MFC相談室 mfc16d.dll■
http://pc8.2ch.net/test/read.cgi/tech/1146117893/
0951デフォルトの名無しさん2007/07/13(金) 17:13:03
その発想はないわw
0952デフォルトの名無しさん2007/07/14(土) 19:57:23
すいませんが質問です
CDialogBar内のコンボボックスでリターンキーを押下したときに
イベントを発生させたいのですが、
どうやってCDialogBar内のコンボボックスのリターンキー押下の
メッセージ拾えばいいですか?
0953デフォルトの名無しさん2007/07/14(土) 20:30:20
>>952は自決しました
PreTranslateMessageでできました
スレ汚しスマソ
0954デフォルトの名無しさん2007/07/15(日) 00:58:02
スレが血塗れに!
0955デフォルトの名無しさん2007/07/17(火) 10:44:55
侍だな
0956デフォルトの名無しさん2007/07/20(金) 18:04:45
今までMFCでダイアログベースのプログラムしか組んだことがありません
この度MDIのプログラムを作りたいのですが、SDIやMDIの場合リソースファイルを
自分で書かないといけないものなのですか?
ダイアログベースの場合はツールボックスからD&Dして作っていて簡単だったんですが
不便ですよね
0957デフォルトの名無しさん2007/07/20(金) 18:34:55
MDIで何を作りたいの?
FormViewとか知らんの?
0958デフォルトの名無しさん2007/07/20(金) 18:45:23
お恥ずかしい限りです、会社ではシリアル関係の実装ばかりやっていて
およそSDIやMDIは知らなくても出来たのでFormViewとか全くの無知です
やりたい事はMDIベースのダイアログからボタンを押したら
グラフのダイアログ(ビューかな?)やテキスト入力の出来るダイアログを出すことです
0959デフォルトの名無しさん2007/07/20(金) 19:51:41
掲示板で聞かないとわからないようなことじゃないし
普通に勉強すればいいよ
0960デフォルトの名無しさん2007/07/20(金) 19:57:09
>>959
サンクス
>>958の書込み読んでFormViewを検索して、SDIでもMDIでも新しいプロジェクトの作成から
基底クラスを良く考えて選べば出来そうですね余りにも同じようなプログラムばかり
組んだり改造しているんで世間知らずでしたww、よってこの質問は取り下げます
0961デフォルトの名無しさん2007/07/21(土) 06:25:55
しね
もうくるな
0962デフォルトの名無しさん2007/07/22(日) 01:38:55
そんな初心者追っ払うほどの話かなぁ・・・
MDIの話でもドキュメントテンプレートの理解までもってってくれる
入門書はみたことないしドキュメントテンプレート理解できないと結構ハマルと思うんだ、俺。
0963デフォルトの名無しさん2007/07/22(日) 03:23:14
MDIってアプリの余白部分が無駄食ってしょうがないと思ってるの漏れだけ?
SDIやダイアログonlyのアプリで複数インスタンス立ち上げ可能な創りの方が合理的だろ
0964デフォルトの名無しさん2007/07/22(日) 13:37:32
何で自分だけと思うんだろう・・・
0965初代スレの>>12007/07/23(月) 22:18:45
このスレまだあったのかw

俺はとっくの昔にMFCなんてクズライブラリは見限って
C#とオブジェクト指向で楽チンなプログラミングライフを
送っているというのにお前らときたら大変だなw

同情を禁じ得ない。
0966デフォルトの名無しさん2007/07/23(月) 22:41:14
いや、昔からの人は今はほとんど同じようなもんじゃない?
このスレにいるのは回答側にまわってるだけさ。
0967デフォルトの名無しさん2007/07/24(火) 00:40:15
独自のDDVとDDXを定義するにはどうしたらよいのでしょうか?

CEditとかはWizardだとCStringとかにしか定義できません。

参考ページとかでもよいので教えてください。
0968デフォルトの名無しさん2007/07/24(火) 01:00:20
すいませんほかにも

UpdateDataではすべてが更新されてしまいますが
コントロールを指定して一つ一つValidateするにはどうしたらよいでしょうか?

Failを呼び出すとメッセージボックスが出てきてしまいますが
これを独自のエラー表示とするにはどうしたらよいでしょうか?
(たとえばToolTipとかLavelに表示)
0969デフォルトの名無しさん2007/07/24(火) 08:34:41
UpdateDataのソース読んだらわかりそうなものだけど、MSDNの解説読んだ?

>DDX_ プロシージャと DDV_ プロシージャの書き方、
>ClassWizard を拡張して独自のルーチンを使う方法についても説明します。
0970デフォルトの名無しさん2007/07/26(木) 03:19:30
MFCってもう終わりなの?
VC6.0使いつづけて6年・・・
統合環境の中では軽い方だし最高なのに
0971デフォルトの名無しさん2007/07/26(木) 20:59:33
MFCはともかく、VC6.0は終わりでいいと思う。
0972デフォルトの名無しさん2007/07/26(木) 22:01:28
秀丸作者がVC5使ってるんじゃなかったっけ?
0973デフォルトの名無しさん2007/07/26(木) 22:51:16
おれも
0974デフォルトの名無しさん2007/07/26(木) 23:00:28
VC2002がすげー糞だったから、VC6.0を使い続けている人が多そうだな
俺的にはVC2005が割と良かったからそろそろバージョンアップしてもいいと思うが
0975デフォルトの名無しさん2007/07/26(木) 23:41:03
2005 Expressと.NET Frameworkでいい気がしてきた
0976デフォルトの名無しさん2007/07/27(金) 05:33:38
.NET使うならC#でいいだろ
どう考えても
0977デフォルトの名無しさん2007/07/29(日) 21:50:54
VS2005MFCでダイアログベースのプログアムです、メインのダイアログのボタンを押すと、
別のダイアログが現れますそのダイアログにはリストボックス、OKボタン、キャンセルボタンが張り付けてあります、
そのリストボックスに、継承関係の無い別クラスから、ファイルを読み出しながら
SendMessage関数でデータを送出してリストボックスに表示させたいのですが可能でしょうか?
0978デフォルトの名無しさん2007/07/29(日) 22:00:09
日本語でおk

非同期で処理するなら、別スレッドでファイルを読みつつ、
ダイアログ側はタイマーで随時その内容を取り込むって感じだな。
0979デフォルトの名無しさん2007/07/29(日) 22:13:08
>>978サンクスです
非同期で行うとデータの取りこぼしとか起きないでしょうか?
SendMessage関数のならデータを投げて戻り値も見てるから大丈夫なのかな?
0980デフォルトの名無しさん2007/07/29(日) 22:25:11
何がわからなくて質問してるかわっぱりわからん
たまたま思いついた方法が可能かどうかということ?
漠然と思いついたこと書かれてもイメージつかめない
0981デフォルトの名無しさん2007/07/29(日) 22:33:46
MFCでSendMessage使うことなんかある?
apiを直に呼ぶ場合は別ね
0982デフォルトの名無しさん2007/07/29(日) 22:35:06
>>980
すみません曖昧で、データを投げるダイアログのハンドルの取得方法が
分かんなくて困っています、あとその上に貼っているリストボックスのハンドルの
取得方法も教えていただけないでしょうか、宜しくお願いします
0983デフォルトの名無しさん2007/07/29(日) 22:44:51
>>981
MFCではSendMessageは使わないものなの、となると
MFCでは一般的にはどんな風に行うのでしょうか?
0984デフォルトの名無しさん2007/07/29(日) 23:46:500
>>981
お前どしろうとだな
0985デフォルトの名無しさん2007/07/30(月) 00:10:26
>>982
>データを投げるダイアログのハンドルの取得方法
メインダイアログに問い合わせる
(全く他所からなら AfxGetMainWnd()->SendMessage()とかで )

>その上に貼っているリストボックスのハンドルの取得方法
リストボックス貼っているダイアログに、これまたSendMessageで問い合わせる
0986デフォルトの名無しさん2007/07/30(月) 05:49:47
32bit vistaのVS2005 stdで組んでいます。
OnNewDocument()でメッセージを表示したいのですが、コンパイル時に定義がない旨の
エラーが出てます。何が悪いのでしょうか。

該当部分は、こんなコードです。
CHogeDoc::OnNewDocument(){
if (中略
AfxMessageBox("ここでファイルを読み込みます"); //定義がどうこう言われてエラーが出る。
return TRUE;
}

表示されるエラーです。
hogedoc.cpp(42): error C2665: 'AfxMessageBox' : 2 オーバーロードのどれも、すべての引数の型を変換できませんでした
afxwin.h(5031): 'int AfxMessageBox(LPCTSTR,UINT,UINT)' の可能性があります。
afxwin.h(5033):または 'int AfxMessageBox(UINT,UINT,UINT)'

ちなみに、AfxMessageBox("ここでファイルを読み込みます",MB_OK)もダメでした。
0987デフォルトの名無しさん2007/07/30(月) 08:20:04
TEXTマクロかL使えば?
0988デフォルトの名無しさん2007/07/30(月) 08:31:42
>983
普通はCDialogとCListBox 使うと思う
0989デフォルトの名無しさん2007/07/30(月) 20:49:33
そういう話ではない
0990デフォルトの名無しさん2007/07/31(火) 01:38:15
CBitmapについての質問です。
VC2005、WinXPProを使用しています。

BITMAP stBitmap;
::ZeroMemory(&stBitmap, sizeof(stBitmap));
stBitmap.bmBits = pBuf;    //ビットマップデータ(これはあってることを確認してます。)
stBitmap.bmBitsPixel = 24;
stBitmap.bmPlanes = 24;
stBitmap.bmWidth = nWidth;
stBitmap.bmHeight = nHeight;

CBitmap* pBitmap = new CBitmap();
VERIFY(pBitmap->CreateBitmapIndirect(&stBitmap));
return pBitmap;

ってな感じの関数を作って動かしているのですが、VERIFYのところで、とまってしまいます。
つまり、CreateBitmapIndirectが失敗しているらしいのです。
どうして、失敗しているのか確認する手段はないでしょうか?

よろしくお願いします。
09919862007/07/31(火) 06:09:36
>>987 サンクス
0992デフォルトの名無しさん2007/07/31(火) 06:19:23
>>990
>http://www.umekkii.jp/data/computer/file_format/bitmap.cgi
プレーン数とかなんで24にしてるの?常に1だよ
あんまり関係ないかもしれんがw
0993デフォルトの名無しさん2007/07/31(火) 10:24:28
あれっ?

麻雀格闘倶楽部のスレじゃないの?
0994デフォルトの名無しさん2007/07/31(火) 10:31:29
plane=24はすげーな。
16色の時はbppが1でplaneが4のやつがあったなあ・・・
0995デフォルトの名無しさん2007/07/31(火) 12:22:04
今更だがCControlBar派生のカスタムコントロールバーができたヽ(´∀`)ノ
なんでも入るしマウスでサイズ変更も自在うひょ
.・・・やっぱ.NETのが楽だな、重いけど(゚д゚)
0996デフォルトの名無しさん2007/07/31(火) 21:36:36
>>994
仕様的にプレーン数なんて概念ビットマップってサポートしてんの?

plane = 1
RGBRGBRGBRGBRGB
RGBRGBRGBRGBRGB
RGBRGBRGBRGBRGB

plane = 3
RRRRRRRRRRRRRRR
GGGGGGGGGGGGGGG
BBBBBBBBBBBBBBB

って奴でしょ?
0997デフォルトの名無しさん2007/07/31(火) 23:37:51
>>995
どういう面で.NETが楽なの?

.NETは基本的な勉強程度で、仕事では使ったこと無いけど
今の段階ではC++/CLIで作るより、使い慣れたMFCのほうが圧倒的に開発効率は良い気がする。
.NETに慣れると違うのかな...
0998デフォルトの名無しさん2007/08/01(水) 00:59:31
>996
BITMAPならある。
0999デフォルトの名無しさん2007/08/01(水) 05:34:22
>>998
え?BITMAPINFOHEADERとかでサポートされてるってこと?
1000デフォルトの名無しさん2007/08/01(水) 05:35:03
>>999
それってフォトショぐらいでは読めるの?
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。