- 1 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 10:38:31 ]
- Microsoft Foundation Classライブラリ専用スレです。
前スレ ■MFC相談室 mfc16d.dll■ pc8.2ch.net/test/read.cgi/tech/1146117893/
- 231 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 19:42:24 ]
- 普通のMDIでもそうなるならそういう仕様
普通のMDIではそうならないなら普通のMDIと同じにすればいい
- 232 名前:225 mailto:sage [2006/12/28(木) 10:44:01 ]
- >>228
NM_RCLICKで右クリックのイベントは取れました 右クリックしたときのアイテムの取得はどうすればいいのでしょうか?
- 233 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 11:20:58 ]
- >>232
ttp://msdn2.microsoft.com/en-us/library/ms670614.aspx
- 234 名前:225 mailto:sage [2006/12/28(木) 11:25:06 ]
- 返答ありがとうございます
調べてみたら CListCtrl::GetFirstSelectedItemPosition で取れるようです
- 235 名前:225 mailto:sage [2006/12/28(木) 12:24:51 ]
- 次は右クリックを押したときにメニューを表示させたいんですが
表示はできましたが最初のメニューだけすごく小さいのです サブメニューは普通に表示されます以下ソースです CMenu menu; CPoint posMouse; VERIFY(menu.LoadMenu(IDR_MENU1)); ::GetCursorPos(&posMouse); menu.TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, posMouse.x, posMouse.y, this);
- 236 名前:225 mailto:sage [2006/12/28(木) 12:32:21 ]
- 自己解決しました
CMenu* pPopup = menu.GetSubMenu(0); pPopup->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, posMouse.x, posMouse.y, this);
- 237 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 12:45:14 ]
- ここはおまえの日記帳じゃねえ。
1週間くらい悩むような問題を質問しろよ。
- 238 名前:225 mailto:sage [2006/12/28(木) 15:30:47 ]
- ニートじゃないのに1週間も悩んでられるかよ
文句しか言えない無知は黙ってろ
- 239 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:43:49 ]
- 配列で作ったマルチスレッドの破棄をメインスレッド側からするには
どうすればいいのでしょうか?調べたんですがflagを立てるやり方しか見つかりません その方法ではユーザーインターフェーススレッドのような複雑な処理をしているときになると 通じないと思いますぜひ知恵をお貸しください
- 240 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:46:34 ]
- MFCと関係ない
- 241 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:49:19 ]
- MFCで開発してますがVC++のほうで聞いたほうがよかったですか?
- 242 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:54:48 ]
- 普通にMFCクラスから派生して作ったのでMFCだと思うんですが
なにがどう関係ないのかの説明をいただきたい
- 243 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 16:55:13 ]
- UIスレッドはPostQuitでいいじゃん
- 244 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:00:28 ]
- PostQuit?
- 245 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:06:24 ]
- PostQuitとはトレードクラスのメンバ関数ですか?
そのようなものは無いと思うんですが
- 246 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:14:10 ]
- PostQuitMessageだろう
- 247 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:15:53 ]
- PostQuitMessageだとスレッドどころかアプリケーション終了しますよ
- 248 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:34:50 ]
- UIスレッドなら
スレッド側に、メッセージ受けると終了するような仕組みを作る。 メインスレッドからスレッドにPostMessage or PostThreadMessage。 必要に応じて、メインスレッドはスレッドが終了するまで待機。
- 249 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:37:02 ]
- なるほど
ありがとうございますやってみます
- 250 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 22:05:29 ]
- VC6 で組んだプロジェクトが VC7 でコンパイル出来なくて困ってます。
ユーザー定義メッセージのとこなんですが。 メッセージマップで ON_MESSAGE(WM_USER_ENDTHREAD, OnUserEndthread) ヘッダで afx_msg void OnUserEndthread(UINT wParam, LONG lParam); 実体部で void CPg1::OnUserEndthread(UINT wParam, LONG lParam) { ; } としているのですが、コンパイル時に pg1.cpp(130): error C2440: 'static_cast' : 'void (__thiscall CPg1::* )(UINT,LONG)' から 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)' に変換できません。 とでます。 VC6 では問題ないのですが・・・。 ご教授下されば有難く思います。
- 251 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 22:17:09 ]
- エラーメッセージそのまんまじゃん
- 252 名前:250 mailto:sage [2006/12/28(木) 22:30:23 ]
- >251
void を LRESULT にしろってことですかね? ユーザ定義メッセージハンドラの仕様が変わったというだけのことですか。
- 253 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 22:44:34 ]
- 相当古いよそれ
- 254 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 02:14:54 ]
- 俺はGetWindowLongでとった値をどうキャストかけても警告だったかエラーだったか消えなくて悩んだ覚えがあるな。
結局、どうしたっけな・・・。
- 255 名前:239 mailto:sage [2006/12/29(金) 12:15:18 ]
- PostThreadMessageでメイン側からWM_QUITメッセージを飛ばし終了させようとしたのですが
Instanceでの処理は止まらないので終了することができません WM_QUITの代わりのメッセージを作ったとしても終了処理をどうすればいいのでしょうか Instance→Run→ExitInstanceの流れを通らないとスレッドの破棄は難しいのでしょうか? >>248さんの終了処理するような処理をどうすれば実装できるか困っています
- 256 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 12:36:41 ]
- >>255
文字通り、サブスレッド側でメッセージを受け取れば宜しい。 逆に言えば、サブスレッド側をそのように作らないといけない。 詳細は、サブスレッドの作りが判らないしスレ違いになるので割愛。
- 257 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 01:57:47 ]
- 質問です。
タブ上にリストコントロールを表示する為、メンバ変数作って OnInitDialog関数内でリストをCreateしています。 (タブはリソースエディタで貼り付けています) 表示はできたんですけどなぜかリスト内の項目が選択できません。 なんででしょう?とりあえずこんな感じで作ってます。 m_Tab.GetClientRect(&rcRect); ClientToScreen(&rcRect); rcRect.left -= 21; rcRect.right -= 5; rcRect.top += 44; rcRect.bottom += 52; m_ListCtrl.Create(LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_NOCOLUMNHEADER|LVS_REPORT|LVS_SHOWSELALWAYS, rcRect, GetParent(), IDC_JOURNALSHOWSET_LIST_KP);
- 258 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 02:20:50 ]
- >表示はできたんですけど
本当に? GetParent()はダイアログの親ウィンドウを返してると思うんだけど。
- 259 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 09:25:15 ]
- こいつ思い出した
結果オーライ > 90 名前:デフォルトの名無しさん[] 投稿日:2006/12/04(月) 13:59:24 > ダイアログにタブコントロールを乗せ、複数のリストビューの表示をタブで切り替える > ソフトを書いていたんですが、タブに重ねたリストビューの列サイズを操作すると > リストビューの表示が乱れる現象が出てしまいました。 > > (中略) > > 結果オーライといえばそれまでなんですが、どうしてこれで問題が解決するのか納得が > いきません。リソース中の定義順が何に影響しているのでしょうか?
- 260 名前:デフォルトの名無しさん [2006/12/30(土) 15:35:51 ]
- MDIタブ age
- 261 名前:デフォルトの名無しさん [2006/12/30(土) 15:57:27 ]
- メニュー項目を選択すると CSliderCtrl を WS_POPUP で作って表示させる処理を
ダイアログに追加していたんですが、ダイアログを終了する時にビープが一発鳴る ようになってしまいました。 どこで鳴ってるのかデバッガで追ってみたところ、InitInstance の最終行、return FALSE; で出て行ったあとのようです。この先も追いたいんですが、F11ではこれ以上追えません でした。どういう風にデバッグすればいいでしょうか?
- 262 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 16:50:16 ]
- ダイアログを終了する時にInitInstanceなのか?
- 263 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 17:21:32 ]
- ダイアログベースのMFCアプリケーションなので、ダイアログの終了=アプリ
の終了という構図です。Wizardが作ったコードそのままですけど、下記のような 雰囲気です。 BOOL MyDialogApp::InitInstance() { いろいろ初期化 CMyDialogDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) ; else if (nResponse == IDCANCEL) ; return FALSE; }
- 264 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 19:01:01 ]
- >>260
ヒント: void CMainFrame::RecalcLayout(BOOL bNotify) CWnd::RepositionBars()
- 265 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 11:56:09 ]
- 先月からMFCを勉強し始めた者です。
以下のようにCFileDialogを使用して、ファイルの読み込み処理をつくりました。 これを、ビューの領域に表示するにはどうすればいいのでしょうか? 「void CFOpenView::OnDraw(CDC* pDC)」に処理を書けばいいと思うのですが、全然わかりません。 どなたか、教えてください。 void CFOpenDoc::OnFileRead() { CFileDialog CFDlg(TRUE, _T("txt"), NULL, OFN_HIDEREADONLY, _T("TEXTファイル(*.txt)|*.txt|すべてのファイル(*.*)|*.*||")); CString String, FilePath; CStdioFile StdFile; if( CFDlg.DoModal() == IDOK){ FilePath = CFDlg.GetPathName(); if(StdFile.Open(FilePath,CFile::modeRead)){ StdFile.ReadString(String); StdFile.Close(); } else { AfxMessageBox(_T("ファイルが開けない")); } } }
- 266 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 12:09:43 ]
- Hello, Worldと同じ
文字列を表示するだけ
- 267 名前:265 mailto:sage [2007/01/03(水) 12:39:21 ]
- >>266
レスありがとうございます。 試してみます。
- 268 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 17:20:42 ]
- ダイアログベースのプログラムを作成しています。
フォームにボタンを配置して、そのボタンのCaptionを動的に変更したいのですが、方法が分かりません。 CButtonクラスメンバの中にもそれっぽい関数が見付からず途方に暮れてます。 方法があれば教えてください。お願いします。
- 269 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 18:40:16 ]
- CButtonの基底クラスのメンバ関数
- 270 名前:268 mailto:sage [2007/01/03(水) 19:06:07 ]
- >>269
ありがとうございます。 普通にSetWindowTextで変更できたのですね。 助かりました。
- 271 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 20:22:26 ]
- VC++2005上でVBMP3.dllというライブラリを使用し、MP3を再生するプログラムを作成しています。
MP3ファイルをオープンするために呼び出す関数 vbmp3_openはヘッダ中に以下のように宣言されています。 BOOL APIENTRY vbmp3_open(const char* pszName, InputInfo* pInfo); で、プログラム中で vbmp3_open(FileName, &pInfo); // FileNameはCString型 としたところ、Debugでのコンパイルは成功するのですがReleaseのコンパイルが以下のエラーとともに失敗します。 error C2664: 'vbmp3_open' : 1 番目の引数を 'CString' から 'const char *' に変換できません。 この変換を実行可能なユーザー定義変換演算子がないか、または演算子を呼び出せません。 といった状態です。解決方法はありませんでしょうか。
- 272 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 21:16:14 ]
- Unicodeネタいい加減飽きた('A`)
- 273 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 09:35:43 ]
- 簡単な質問だと答えがすぐに返ってくるねぇ
MDIタブの実装方法は難しくてここの住人に答えるのは無理ってことかぁ
- 274 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 09:55:03 ]
- MFCにMDIタブがあればすぐ教えてやるけど
ないものは教えられない
- 275 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 10:05:09 ]
- 用意された機能は使えるけど
自分でMFCを拡張してタブを実装する技術はないってことだな>274
- 276 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 10:05:35 ]
- MFCの設計に含まれていない以上、
Office2007のリボンの実装方法聞いてるのと同じようなものだからなあ。 頑張れば出来るんじゃね?としか言いようが無い。
- 277 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 10:07:56 ]
- 275は仲間を見つけて喜んでいるようだ
- 278 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 13:46:54 ]
- MFCにMDIタブを実装した経験のある おいらが来ましたよ
んで何が聞きたいんだ?
- 279 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 21:35:19 ]
- 奥さんが欲しいです
- 280 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 02:58:20 ]
- >>279
以下のように2行コメントにしてみて for(int i=0; i<FEMALE_MAX; i++){ if(female[i].IsMarried()==TRUE) continue; if(female[i].GetAge()<16) continue; // if(female[i].CheckQuality()==FALSE) // continue; propose(female[i]); }
- 281 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 13:58:48 ]
- 先生!なぜかループが一回も回りません!
- 282 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 09:18:47 ]
- >>281
femaleが空なんじゃないか? つーか、FEMALE_MAXが0なのか。
- 283 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 09:43:43 ]
- //if(female[i].GetAge()<16)
// continue; こういう余計な制限もとっちゃおうぜ。
- 284 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 09:44:44 ]
- //if(female[i].IsMarried()==TRUE)
// continue; よく考えたらこれだって別に大した制限じゃねぇな。
- 285 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 09:46:04 ]
- if(female[i].GetAge()>35)
continue; さすがに遠慮したいから入れておこうな。
- 286 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 09:47:49 ]
- >>281
しょうがない、female -> maleに置き換えるんだ。
- 287 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 10:06:14 ]
- MFC使ってるやつ少ないのかと思ってたけど
くだらない話になると書き込みが増えるな ROMってるやつ多いのか?
- 288 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 12:06:22 ]
- VisualC++ .net Standard使用
CImageのLoadFromResourceに関して質問です BITMAPリソースは読み込むことができるのですが、jpgファイルをバイナリリソースとして格納した場合に、こいつを読み取ってくれません LoadResourceを使ってtmpファイルでも書き込んでからCImage::Loadなんて馬鹿馬鹿しいですし 何とか簡単にリソースに埋め込んだバイナリデータのjpgを読み込ませる方法はないでしょうか? ちなみに、こんな感じでやってます CImage image; image.LoadFromResource(GetModuleHandle(NULL),ResourceID);
- 289 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 12:20:49 ]
- あまりにもバグって気持ち悪くなってきた
- 290 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 13:06:39 ]
- VC6にはCImageないんだよな
- 291 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 13:19:40 ]
- DIB程度ならCreateDIBSectionをCBitmapにAttachとかで済むから、あまり困らなかったな。
>>288 ::CreateStreamOnHGlobalとCImage::Load(IStream *)を使えば、ファイル無しでできる。 効率から言うと、バイナリリソースアクセス用のIStream実装を書いた方が良いけど('A`)マンドクセ
- 292 名前:デフォルトの名無しさん [2007/01/07(日) 01:51:10 ]
- 初期状態でドッキングされていないツールバー(フローティングツールバー?)の作り方を教えてください
普通のツールバー(ドッキングされているツールバー)はスケルトン作成(SDI or MDI)したソースを見れば 分かりそうな感じですが、それとスタイルが違うツールバーはどのように作れば良いですか? グーグルで調べているのですが、思ったような情報に行き当たらず困っております
- 293 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 02:56:21 ]
- MDI野郎の文体だね
- 294 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 03:26:52 ]
- >>291
サンクス CreateStreamOnHGlobalでいけました というか、IPictureをかまさないとストリームにならないのでかましたわけですが これを使うとCImageの意味がまったくをもってないですね(笑)
- 295 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 10:14:35 ]
- MFCのフローティングツールバーはMFCが自力でやってるから
具体的な方法はMFCのソース読めばわかるよ 確かバーの上に張り付いてるやつを別ウインドウ開いて丸ごと引っ越すだけだったと思う。
- 296 名前:デフォルトの名無しさん [2007/01/08(月) 17:20:10 ]
- >>295
レスありがとうございます ど素人(入社1年目)なので、それだけですとやり方が分かりません・・・
- 297 名前:デフォルトの名無しさん [2007/01/08(月) 17:27:33 ]
- 追加で質問をさせてください
ツールバー上のアイテム(ボタン?)をドラッグした時に 点線の四角形またはそのアイテムのアイコン(半透明)を ドラッグ中のマウスポインタの横に表示させるにはどうすれば良いですか? イメージとしては、VC++でダイアログリソース編集時にコントロールアイコンを ツールバーからドラッグした時のような感じで
- 298 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 18:01:41 ]
- >>296
自力で調べて判らないようなら上司なり先輩なりに聞け。 それでも判らないようならあんたには不適当な要求仕様なのだからそう上司(なり指示した人間)に言え。
- 299 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 18:30:36 ]
- >>298
スレタイを2万5千回ぐらい嫁。
- 300 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 18:36:21 ]
- >>299
6時間も7時間もやってらんない。
- 301 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 18:47:17 ]
- >>299
相談室だから>>298のようなアドバイスもアリじゃないか
- 302 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 18:52:35 ]
- >>298は的確だと思ったな
あと2ちゃんで仕事をにおわせると答えてもらいにくくなるよ タダで教えてその内容で相手は金を得るわけだし
- 303 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 18:52:59 ]
- >>301
要求仕様のさばき方相談室じゃないんだよー
- 304 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 19:37:22 ]
- 会社だったら違う人に仕事まわすだけだろ
できない仕事をかかえこまないように
- 305 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 22:18:54 ]
- >>296でわからないっつーのはもうアレだ。
なんつーか色々と色んなことが困難だw
- 306 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 22:19:30 ]
- いや、>>295な。
- 307 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 23:27:04 ]
- >>292,296
質問の意味が2通りに取れるんだが MFC標準のCToolBarをフローティング状態で表示したいってこと? それとも独自にフローティングツールバーを実装したいってこと? おそらく前者の意味で聞いてるんだと思うけど、 それならCFrameWnd::FloatControlBar()でフローティング状態にできるよ。 後者なら、MFCのソースを参考に自分で書けとしか言えません。
- 308 名前:デフォルトの名無しさん [2007/01/09(火) 11:46:02 ]
- ダイアログバーにIDC_STATICのスタティックテキストを貼り付けると、
そのテキスト上でのマウスドラッグはバーのドラッグ処理になりますが、 これってどのような仕組みなのでしょうか。 ダイアログバー内に貼り付けた自作ウィンドウクラスにも このような動作を組み込みたいんです。 OnNcHitTestでHTTRANSPARENTやHTCAPTIONを返してみても まったく動かなかったり、コントロールだけが動いたり、 ダイアログバー内でダイアログ自身が動いてしまったりと、 仕組みがわからずに苦戦しています。 同じスタティックテクストでも IDC_STATIC以外の名前を付けるとドラッグにならないようなので、 コントロールバークラスがIDC_STATICに対して なにか特別なことでもやっているのでしょうか。
- 309 名前:デフォルトの名無しさん mailto:sage [2007/01/09(火) 12:48:24 ]
- 初心者はIDC_STATICではまる
- 310 名前:デフォルトの名無しさん mailto:sage [2007/01/09(火) 12:51:33 ]
- 初心者 IDC_STATIC の検索結果 約 211 件中 1 - 10 件目 (0.25 秒)
- 311 名前:デフォルトの名無しさん [2007/01/13(土) 23:36:22 ]
- ドキュメントビューアーキテクチャという概念がよく分かりません
ドキュメント: プログラム内で共有するデータを扱う, メンバ変数がたくさんある, ファイル入出力 ビュー: ユーザとのインタフェースを扱う, 描画を取り仕切る, コントロール管理 の認識でOKですか?
- 312 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 23:58:14 ]
- いや
- 313 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:00:08 ]
- >>311
概ねOKじゃね? どっちかっていうとその役割よりドキュメントとビューがセットで1つになってること(ドキュメントテンプレートってのなかった?) 新規作成でできるもんがドキュメント+ビューを型にしたインスタンスであることって方が重要のような気がするがわかっているならOK。 そうすると自然にMDIのアプリは 1.メインフレーム(メニューとかくっついてる) 2.(ドキュメント+ビュー)X新規作成で生成された数分 3.その他のツールウィンドウやダイアログ で構成されることになる。 VCだと ・メインフレーム(メニューとかくっついてる) ・ソースコードエディターとかリソースエディター等など(新規作成からできる奴) ・ソリューションエクスプローラーとかアウトプットウィンドウとか・・・ にあたる。 強引に「こうやって作れよ!」っていう型なんで設計からしてこうやってなってないと駄目っちゃ駄目だなw
- 314 名前:311 [2007/01/14(日) 00:12:54 ]
- ありがとうございます
- 315 名前:スイ [2007/01/14(日) 00:22:26 BE:311467872-2BP(0)]
- えっと、すいません、↓で討論?みたいなのをしているんですけど、
jbbs.livedoor.jp/bbs/read.cgi/game/19692/1168442603/ 私は、真珠さんって少し変わった趣味を持った人だなー、とかは思いますけど、それだけで叩いたりするのってひどいと思いませんか? 私はあまりネットには詳しくないのでよくわからないんですが、なんかほなみんさんが2chとか言ってたので調べてみると見つかったので書き込んでみました。 このままだと真珠さんがかわいそうなんで、誰か真珠さん側についてほなみんさんを叩き返してくれませんか?私じゃ勝てそうにないので。
- 316 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:46:00 ]
- ↓ハイ、次の方どうぞ。
- 317 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:44:25 ]
- えっと、これ本番ですか?
- 318 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 06:58:08 ]
- >>313
なんで初心者に向かって何の前置きも無しに、あまりお目にかからないMDIのさらにレアな 複数のドキュメントタイプを持つアプリの解説を始めるのか、理解に苦しむよ。 VS2005でMFCアプリのデフォルトプロジェクトがMDIになったのは大失敗な気がする。 >>311 msdn2.microsoft.com/ja-jp/library/4x1xy43a(VS.80).aspx この解説が分かりやすいよ。
- 319 名前:デフォルトの名無しさん [2007/01/14(日) 08:06:10 ]
- >>318
ええ!? >>313のどこをどう読めばが複数ドキュメントの解説がメインになってるの? とんだ濡れ衣だ!勘違いなら謝ってよ!
- 320 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 08:06:57 ]
- X複数ドキュメント
○複数ドキュメントタイプ
- 321 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 09:00:21 ]
- >新規作成でできるもんがドキュメント+ビューを型にしたインスタンスであることって方が
>重要のような気がするがわかっているならOK。 SDIでは100%成り立たないし、単一のドキュメントタイプをもつMDIなら自明で重要性は感じられない。 これが重要な意味を持つのは複数のドキュメントタイプをもつMDIしかないように思った。 確信犯だと思ったんだが、気に障ったのなら謝るよ。漏れの知らない世界があるんだろうね。
- 322 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 10:00:53 ]
- >>321
え?じゃあ、君の勝手な妄想で俺につっかかってきたの? それとあきらかにその文章で複数ドキュメントタイプの説明なんて書いてないのにその態度はなんなの。 しかも、確信犯の使い方も間違ってるし。 こんなの業務でやったら大変だぜ。改めろよ。
- 323 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 10:23:18 ]
- いや、改めなくていいから一切社会活動を行なわないでください。
- 324 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 10:27:37 ]
- >VS2005でMFCアプリのデフォルトプロジェクトがMDIになったのは大失敗な気がする。
これ昔からだろ、2005ではじめて触ったのか
- 325 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 11:07:34 ]
- SDI MDI
MFC以前からある ドキュメント/ビュー MFC2.0で追加された
- 326 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 12:59:31 ]
- CFrameWndの派生クラスをドキュメントテンプレートから閉じるにはどうしたらいいでしょうか。
つまり class CHogeDocTemplate : public C[Single/Multi]DocTemplate の OpenDocumentFile で特定のフレームを閉じる様にしたいのですが、 閉じる時に CFrameWnd::DestroyWindow や OnCloseDocument を使うと OnClose が呼びだされないがこれで大丈夫なのか、 だめだとしたら正しい閉じ方はどうなのかを教えていただきたいのです。 よろしくお願いします。
- 327 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 13:14:37 ]
- 普通に閉じればいいじゃん
- 328 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 13:34:04 ]
- CFrameWnd::OnCloseからDestroyWindow呼んでるから
OnClose が呼びだされないのは当たり前
- 329 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 13:39:10 ]
- >>327
普通にとはどのようにでしょうか? >>328 その通りです。OnClose から閉じる方がドキュメントを閉じる等の処理も 正しく行われるように読めたので出来ればそうしたく質問しております。
- 330 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 13:47:01 ]
- OnCloseからOnCloseDocument呼んでるから
OnCloseDocumentからOnClose が呼びだされないのは当たり前
- 331 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 21:50:20 ]
- OnCloseはウィンドウを閉じる時
OnDocumentCloseはドキュメントを閉じる時 と考えれば何も問題ないべ
|

|