■MFC相談室 mfc13d.dll■
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
05/03/07 16:19:56前スレ
■ MFC相談室 MFC12.dll■
http://pc5.2ch.net/test/read.cgi/tech/1096848771/
過去ログは >>2-5 の辺り。
0809デフォルトの名無しさん
2005/06/25(土) 02:01:20// 三次元配列
list<list<list<int> > > stl;// OK..スッキリ
CArray<CArray<CArray<int, int&>, CArray<int, int&>&>, CArray<CArray<int, int&>, CArray<int, int&>&>&> mfc; //OK 込み入ってるし読めない
CList<CList<int, int&>, CList<int, int&>&> bad; // NG コンパイルすら通らない
これって嫌気が差したスレに書くべきかもしれないけど、MFCを妄信してる実装担当が回りに多くて
激しく鬱になって・・・
0810デフォルトの名無しさん
2005/06/25(土) 02:09:100811デフォルトの名無しさん
2005/06/25(土) 02:49:18SelectObjectでビットマップを表示させる場合
一つのビットマップしま表示できないです。
複数のビットマップを表示するにはどうすればよいのでしょうううか
0812デフォルトの名無しさん
2005/06/25(土) 08:35:08複数のCBitmapを用意しろ
とりあえず、ソースどんなん?
0813デフォルトの名無しさん
2005/06/25(土) 22:47:29HBITMAP bmpAAA, bmpBBB, bmpCCC;
を宣言して、場合によって bmpOUTPUT = bmpAAA; とか
bmpOUTPUT = bmpBBB; とかして、
その直後に this->UpdateAllViews( NULL, 0, NULL ); すればよい。
CView の OnDraw では
SelectObject( hdcBMPOUTPUT, bmpOUTPUT );
BitBlt( hdcWindow, ...., hdcBMPOUTPUT, SRCCOPY );
しておくだけでいい。
bmpAAA と bmpBBB と bmpCCC の実体は必要だが、
bmpOUTPUT は画像選択出力用ポインタとして使う。
実行中に bmpOUTPUT が「ぬるぽ」だったら OnDraw を脱出すればよい。
フラグとしてグローバル変数を用意して OnDraw 内で、
bmpAAA と bmpBBB と bmpCCC の switch をする方法もあるが、
なんかシロウトっぽくてイヤだ。
0814デフォルトの名無しさん
2005/06/26(日) 16:27:160815デフォルトの名無しさん
2005/06/27(月) 14:21:41リソース内の値を書き換えたのでは。
0816デフォルトの名無しさん
2005/06/27(月) 15:52:12開発環境:VS.NET 2003
0817デフォルトの名無しさん
2005/06/27(月) 18:11:39書店でも全然見かけなくなったし
0818デフォルトの名無しさん
2005/06/27(月) 18:21:58標準講座MFC6.0―Visual C++による効率的なWindowsプログラミング Programmer’s SELECTION
0819デフォルトの名無しさん
2005/06/27(月) 19:07:45まともなMFC本と言ったらそれくらいかね
0820デフォルトの名無しさん
2005/06/27(月) 19:53:00呼び出し側からDllが呼び出されるとDll内でダイアログを表示したいのですが、
色々調べてDLL側で以下のようにプログラムしています。
AFX_MANAGE_STATE(AfxGetStaticModuleState());
Tdlg *pDlg;
pDlg = new Tdlg;
pDlg->Create(IDD_DIALOG1,CWnd::GetDesktopWindow() );
pDlg->ShowWindow(SW_SHOW);
しかし、このようにすると確かに表示はされるのですが、ダイアログがアクティブに
なりません。(ダイアログの上の青い部分が薄いまま) マウスでなんとか移動はで
きるのですが、アクティブになってスムーズに移動することはできません。何が原因
なのでしょうか?
0821デフォルトの名無しさん
2005/06/27(月) 20:33:180822デフォルトの名無しさん
2005/06/27(月) 23:36:28親がデスクトップなので、デスクトップが非アクティブになると
ダイアログも非アクティブになるという動作です。
親をdllを呼び出している側のメインウィンドウ(?)にして
アクティブとかそこらへんの関係を適切にしたいなら、
dll の関数に親ウィンドウの HWND を渡してもらうか、
メインウィンドウらしきものを自力で探すしかないです。
0823デフォルトの名無しさん
2005/06/28(火) 11:23:30pDlg->Create(IDD_DIALOG1,::GetDesktopWindow() ); でもだめ?
0824デフォルトの名無しさん
2005/06/28(火) 14:03:57pDlg->Create(IDD_DIALOG1,::GetDesktopWindow() );
はビルド時にエラーが出ます。
>822
なるほど分かりました。もとは親のハンドルを受け取るようにしていたのですが、それだとうまく
表示されなかったので親をデスクトップにしてみたのです。
親のハンドルに設定していると子ダイアログが親ウィンドウ内に表示され
てしまったり画像が移ってしまったりとうまく描画できなかったのでしか
たなく親をデスクトップにしてみたのですが。
0825デフォルトの名無しさん
2005/06/28(火) 15:10:26異なるようでしたら適切な場所を教えてください。
MFC拡張DLLにて namespace ごと
クラスをエクスポートしたいのですが
正しい方法がわかりません。
// 策 1
namespace hoge {
class AFX_EXT_CLASS CHoge{
// いろいろ
};
}
// 策 2
namespace hoge{
class CHoge;
}
class AFX_EXT_CLASS hoge::CHoge{
// いろいろ
};
1,2 ともにDLLプロジェクトはコンパイルが通るのですが
他のプロジェクトで使おうとすると
> fuga.cpp(xxx): error C2653: 'hoge'' : 識別子がクラス名でも名前空間名でもありません。
とのエラーが出ます。
MFC拡張DLLにて名前空間をエクスポート可能なのでしょうか。
可能でしたら方法を教えていただけないでしょうか。
0826デフォルトの名無しさん
2005/06/28(火) 15:58:440827デフォルトの名無しさん
2005/06/28(火) 16:34:05使う側にもこれは書かないとだめじゃない?
namespace hoge{
class CHoge;
}
0828デフォルトの名無しさん
2005/06/28(火) 18:24:20書いてるのと同じ状態です。
インテリセンスでの補完も働くようです。
しかしコンパイル通らず、、、
名前空間 jp::somewhere のクラス CComoplex と
名前空間無しのクラス CSimple のコンストラクタ(多分)は
??0CComplex@somewhere@jp@@QAE@XZ
??0CSimple@@QAE@XZ
上記のような名前付けになっていて、@の被る位置の判断とかがアレなのかな。
0829デフォルトの名無しさん
2005/06/28(火) 18:41:37>> fuga.cpp(xxx): error C2653: 'hoge'' : 識別子がクラス名でも名前空間名でもありません。
このエラーはどう見てもそんな高尚な話ではなく、単なる文法違反なわけで。
なにかのポカミスだと思います。
0830デフォルトの名無しさん
2005/06/28(火) 21:11:01> 親のハンドルに設定していると子ダイアログが親ウィンドウ内に表示され
WS_CHILD が指定されているとこうなるよ。
0831デフォルトの名無しさん
2005/06/28(火) 23:01:08Ctrlクリックと同じ選択方式に変更する方法はあるのでしょうか?
0832デフォルトの名無しさん
2005/06/29(水) 06:11:54Printscreenみたいな感じのものです。
0833デフォルトの名無しさん
2005/06/29(水) 10:35:470834デフォルトの名無しさん
2005/06/29(水) 19:12:20最初に1回表示されるけどあと全然更新されない
Timer関数は動いてるみたいだけどデバッグで追いかけてると
現在の場所のソース コードを表示できません。とか言われて進まなくなる
↓OnPaintとOnTimerで呼び出してる。描画関数はこれで合ってる?
void CMainWnd::DrawClock()
{
CRect rect;
GetClientRect(&rect);
CString string;
string.Format(_T("%2d:%2d:%2d"), tmOldTime.GetHour(), tmOldTime.GetMinute(), tmOldTime.GetSecond());
CPaintDC dc(this);
dc.DrawText(string, -1, &rect, DT_SINGLELINE);
}
0835デフォルトの名無しさん
2005/06/29(水) 19:31:28OnTimer() では Invalidate() するだけでいいんじゃ?
0836834
2005/06/29(水) 19:37:21昼からずっと 9: 0: 0のまま
0837デフォルトの名無しさん
2005/06/29(水) 20:05:310838デフォルトの名無しさん
2005/06/29(水) 20:08:52tmOldTimeはどこで更新している?
見たところ、0のままで1970/1/1 9:0:0を指しているような気がするのだけれど。
0839834
2005/06/29(水) 21:48:12数字は進まないけど画面がチラつくようになった
>>838
コンストラクタで0にしてTimer関数で更新してる
afx_msg void CMainWnd::OnTimer(UINT ID)
{
CTime tmCurTime;
tmCurTime.GetCurrentTime();
if (tmOldTime == tmCurTime) {
return;
}
tmOldTime = tmCurTime;
DrawClock();
}
0840デフォルトの名無しさん
2005/06/29(水) 22:01:26すげぇ素朴な疑問なんだが、何故tmOldTimeとtmCurTimeの二つの
変数を用意する必要があるのだ?
呼び出し側では
CTime tmCurTime = CTime::GetCurrentTime();
DrawClock(tmCurTime);
としておき、DrawClock側では
void CMainWnd::DrawClock(const CTime& now)
{
CClientDC dc(this);
CRect rect;
GetClientRect(&rect);
CString str;
str.Format(_T("%2d:%2d:%2d"),now.GetHour(),now.GetMinute(),now.GetSecond());
dc.DrawText(str,-1,&rect,DT_SINGLELINE);
}
じゃ駄目なのか?
0841834
2005/06/29(水) 22:26:02やっぱり 9: 0: 0で止まってチラつくだけだった
0842デフォルトの名無しさん
2005/06/29(水) 22:58:18デバッグモードにしてる?
リリースモードでもデバッグ情報を埋め込むことはできるが、煩雑?なので。
0843834
2005/06/29(水) 23:11:430844デフォルトの名無しさん
2005/06/29(水) 23:32:49CTime tmCurTime = CTime::GetCurrentTime();
0845デフォルトの名無しさん
2005/06/29(水) 23:34:16俺も今同じこと書こうとした。
CTime::GetCurrentTime()はスタティック関数だな。
0846834
2005/06/29(水) 23:44:13なんでtmCurTime.GetCurrentTime()はダメなの?
0847デフォルトの名無しさん
2005/06/29(水) 23:45:440848デフォルトの名無しさん
2005/06/30(木) 00:19:05CTimeクラスの説明で、GetCurrentTime()は静的関数とあるぞ。
0849デフォルトの名無しさん
2005/06/30(木) 08:23:510851834
2005/06/30(木) 09:21:27time.GetCurrentTime()とCTime::GetCurrentTime()はどう違うの?
どっちも現在時刻を取得する関数じゃないの?
0852デフォルトの名無しさん
2005/06/30(木) 09:25:39これだけ書かれても、それ以上自分で調べることもしないで思考停止に陥ってるなら
プログラミングなんて止めて自動販売機の空き缶いれでも探ってる方がいいよ。
0853デフォルトの名無しさん
2005/06/30(木) 09:36:082つとも同じだ。同じなので>839は↓これと同じだ。 tmCurTime に値が入るわけ無いだろ。
afx_msg void CMainWnd::OnTimer(UINT ID)
{
CTime tmCurTime;
CTime::GetCurrentTime();
0854834
2005/06/30(木) 09:41:39現在時刻を取得したけどそれをどこにも代入してなかったわけだ
よくわかったありがとう
0855デフォルトの名無しさん
2005/06/30(木) 09:43:44これぐらいドキュメント見てわかるようになれよ。
0856834
2005/06/30(木) 09:45:29静的メンバ関数はもう間違えない
0857デフォルトの名無しさん
2005/06/30(木) 11:45:15呼び出せてしまうC++の文法は個人的にあまり好きじゃない。
thisポインタが渡されるわけじゃないのに紛らわしい。
0858デフォルトの名無しさん
2005/06/30(木) 19:58:11両方に「OnNMClickList」ハンドラを割り当てているのですが、
Aリストの項目をクリックした後、Bリストの空白の場所をクリックしても
OnNMClickListが呼ばれず、再度クリックすると呼ばれます。
1クリックでBリストのOnNMClickListを呼び出す方法ってないですか?
メニューからこのダイアログを呼び出したとき、どちらのリストも最初の
1クリックでちゃんとOnNMClickListが呼ばれます。
このことから、おそらく原因はAリストをクリックしたときに取得した項目が
Bリストをクリックしたときにもまだ選択状態にあるという点だと思うのですが。
そこで、
AList.SetItemState( 0, LVIS_SELECTED, LVIS_SELECTED)
を使って選択解除の方法を試しているのですが、うまくいきません。
どなたかご指導お願します。環境はVC++.NET2003です
0859デフォルトの名無しさん
2005/06/30(木) 20:37:26動作がうまく伝わらないみたいだね。クリックはマウスボタンを
押して上げるという動作だからCListCtrlの派生クラスを
作ってWM_L(R)BUTTONDOWNのメッセージを処理すればうまく行く。
ただ、この時はマウスポインタを動かすとドラッグ操作みたいに
四角い枠が出てしまうことがあるので、その派生クラスの中で
適切に処置してあげないといけない。
0860デフォルトの名無しさん
2005/06/30(木) 21:30:110861デフォルトの名無しさん
2005/06/30(木) 22:18:41何も表示されなくなります。解決法ありませんか?
0862デフォルトの名無しさん
2005/06/30(木) 22:49:28ListCtrlですか?
InsertItem()する前に構造体のアイテムとサブアイテムに正しく番号
ふっておかないと表示されないです。
アイテム:0 サブアイテム:0 のときはInsertItem()、
アイテム:0 サブアイテム:1〜のときはSetItem()、
で入れないと正しく表示されません。この辺は大丈夫ですか?
0863デフォルトの名無しさん
2005/06/30(木) 23:45:27CTreeCtrlです。
書いたつもりが書いてませんでした。
0864デフォルトの名無しさん
2005/07/01(金) 01:44:42VC6 のMFCクラスウィザートのように、自分の作ったクラスのオブジェクトに対し、
メッセージや変数を追加したいのですが、どうも見つかりません。
関数のオーバーライドや、ダイアログコントロールに対して変数を設定するのに
重宝していたのですが・・・
友人から本体部分だけ貰ったんで、MSDNがないんです。^^;
サイトのMSDNで調べても要領を得ないんで、こちらに来てみました。よろしくお願いします。
Visual Stdio .NET 2003
VC++ .NET 7 です
0865デフォルトの名無しさん
2005/07/01(金) 02:02:040866デフォルトの名無しさん
2005/07/01(金) 02:05:31http://www.microsoft.com/japan/msdn/library/ja/vccore/html/vcgrfWhereIsClassWizardInVisualCNET.asp
0867575
2005/07/01(金) 02:07:31無事、オーバーライドできました。
0868864,867
2005/07/01(金) 02:16:05>866さん、リンクありがとうございます。私の探し方が甘すぎの模様です。
0869デフォルトの名無しさん
2005/07/01(金) 17:23:56858です。
問題はリストコントロールのプロパティで「フォーカスを持たないときでも
項目を選択」みたいなやつをTRUE(リストとフォーカスの関係を無視する)
にすることで解決しました。フォーカスの存在は盲点でした。
リストのOnNMClickListイベントは自分自身のフォーカスを持ってないと反応
しないらしく、2度クリックしないと反応しない原因は、1度目のクリックで
リストのフォーカスを取得。2度目のクリックでOnNMClickList反応という流れ
のようです。ですので↑にあるプロパティ項目の変更で、1クリックで
直接OnNMClickListようにする必要があるみたいです。
この変更をした場合、以前に選択した項目が薄いグレーで見えてしまうので、
必要ないときは
SetItemState( -1, 0, LVNI_SELECTED );//選択項目(グレーの部分)を解除
SetItemState( -1, 0, LVNI_FOCUSED );//選択項目(点線の枠)を解除
をすることで、処理できます。
ひとつ勉強になりました。ありがとうございました。
0870デフォルトの名無しさん
2005/07/01(金) 19:26:08RCS.Open( CSimDBAc::snapshot,
_T( "select * from table where POINT > 50"),CRecordset::readOnly );
とした後GetRecordCount()でレコード数を受け取ろうとしたのですが、
POINT>50 であるレコードはいくつもあるのに1が帰ってきます。これは
なぜなのでしょうか?
0871デフォルトの名無しさん
2005/07/01(金) 19:38:15だめならSQLをちがうのにかえてみる。
0872デフォルトの名無しさん
2005/07/01(金) 19:51:01どうやって末尾にいどうすればいいのですか?
0873デフォルトの名無しさん
2005/07/01(金) 20:01:440874デフォルトの名無しさん
2005/07/01(金) 20:03:57ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/_mfc_crecordset_class_members.asp
0875デフォルトの名無しさん
2005/07/01(金) 20:05:180876デフォルトの名無しさん
2005/07/01(金) 20:42:32MoveLast 関数を呼び出してもレコード数は更新されません。
ユーザーが独自にレコード数を数えるには、IsEOF が 0 以外を返すまで
MoveNext を繰り返し呼び出します。
0877デフォルトの名無しさん
2005/07/01(金) 20:56:31MoveNextなんか繰り返し呼んでると、場合(DBMSとかレコードセットの種類とか)によっては
ものすごく時間がかかるので、count(MFCじゃないぞ)でも使った方がいいな。
0878デフォルトの名無しさん
2005/07/01(金) 21:04:27あなたの言うとうりでした。
解決しました
0879デフォルトの名無しさん
2005/07/01(金) 23:24:290880デフォルトの名無しさん
2005/07/02(土) 02:28:43イケナイ子かどうかは判らん。
でも大抵AfxGetApp()で間に合ってる。おいらの場合。
0881デフォルトの名無しさん
2005/07/02(土) 03:38:18theAppを直接使うのは泣きべそで弱虫のするすることだ。
0882デフォルトの名無しさん
2005/07/03(日) 14:39:27その後モードレスダイアログとして表示させようとして、以下のようにしたら
アプリケーションがエラーを起こします。
なぜなのでしょうか。
CProgressDlg prgDlg;
prgDlg.Create(CProgressDlg::IDD, NULL);
CProgressCtrl* pPrgCtrl=(CProgressCtrl*)prgDlg.GetDlgItem(IDC_STATIC);
CStatic* pStc=(CStatic*)prgDlg.GetDlgItem(IDC_STATIC);
pStc->SetWindowText("aaa"); ←ここでエラー
DoModalでないと、ダイアログ内部のコントロールは自動的に作られず、こちら側でCreateしないといけないということでしょうか?
0883デフォルトの名無しさん
2005/07/03(日) 15:00:150884832
2005/07/03(日) 15:10:15あくまでリソースダイアログはモーダルのときのみと。
0885デフォルトの名無しさん
2005/07/03(日) 15:14:54prgDlg->Create(IDD_DIALOG1, NULL);
CProgressCtrl* pPrgCtrl=(CProgressCtrl*)(prgDlg->GetDlgItem(IDC_STATIC));
CStatic* pStc=(CStatic*)(prgDlg->GetDlgItem(IDC_STATIC));
pStc->SetWindowText("aaa");
0886デフォルトの名無しさん
2005/07/03(日) 15:23:38IDC_STATIC が重複してるだけ。
各 control にちゃんと固有の ID 付けること。
当然 dialog resource template で作って modeless で動く。
0887832
2005/07/03(日) 15:26:13それでも例外になりました。
ちなみに、
CProgressCtrl* pPrgCtrl=(CProgressCtrl*)(prgDlg->GetDlgItem(IDC_STATIC));
は
CProgressCtrl* pPrgCtrl=(CProgressCtrl*)(prgDlg->GetDlgItem(IDC_PROGRESS1));
と修正します。
すいませんでした。
(CProgressCtrl*)(prgDlg->GetDlgItem(IDC_PROGRESS1));で返ってくる値がNULLなので。
0888デフォルトの名無しさん
2005/07/03(日) 15:27:12それから 885 の指摘は prgDlg object の寿命のことを言っている。
modal じゃないのだから function 内の寿命ではダメだ。
modeless なら 885 のように free store 内に作るか、static な寿命にすること。
0889832
2005/07/03(日) 15:29:01失礼しました。
(CProgressCtrl*)(prgDlg->GetDlgItem(IDC_PROGRESS1));
で値のあるポインタが返ってきましたが、
(CStatic*)(prgDlg->GetDlgItem(IDC_STATIC));
では、まだNULLのままです。
IDC_STATICというIDも間違ってません。
いま現在のソースはこれです。
CSAPProgressDlg* prgDlg=new CSAPProgressDlg();
prgDlg->Create(IDD_PROGRESS,NULL);
CProgressCtrl* pPrgCtrl=(CProgressCtrl*)(prgDlg->GetDlgItem(IDC_PROGRESS1));
CStatic* pStc=(CStatic*)(prgDlg->GetDlgItem(IDC_STATIC));
pStc->SetWindowText("aaa");
0890デフォルトの名無しさん
2005/07/03(日) 15:34:44>(CStatic*)(prgDlg->GetDlgItem(IDC_STATIC));
>では、まだNULLのままです。
じゃあダメにきまってる。
>IDC_STATICというIDも間違ってません。
resource editor で IDC_STATIC じゃなくて何か固有の ID 作ること。
0891デフォルトの名無しさん
2005/07/03(日) 15:35:14コントロールパネルの画面設定でやる256色とかHighColorとかTrueColorとかの現在の設定を知りたいんです。
スレ違いだったらゴメンなさい。
0892832
2005/07/03(日) 15:37:32解決しました。
他のダイアログリソースとIDが重複していたみたいです。
他のダイアログリソースは同じ会社の人が作ったものでしたが、気がつきませんでした。
皆様、ありがとうございました。
0893882
2005/07/03(日) 15:38:070894デフォルトの名無しさん
2005/07/03(日) 15:40:43「IDC_STATIC」はデフォルト値として特別な意味を持ってるんだよ。
他のリソースと重複していることが問題の本質ではない。
0896デフォルトの名無しさん
2005/07/03(日) 15:48:09別に特別な意味はないでしょ。MFC が reserve してるだけで。
892 の問題は dialog control ID の重複であなく dialog ID の重複という
落ちだったらしいし。ほっとけばいい。
0897882
2005/07/03(日) 15:50:11IDC_STATIC以外は問題なかったので。
0898デフォルトの名無しさん
2005/07/03(日) 15:51:25IDC_STATICは編集できないって基本だろ
0899デフォルトの名無しさん
2005/07/03(日) 15:57:250900デフォルトの名無しさん
2005/07/03(日) 15:59:45>いえ、dialog control IDの重複でした。
>>892 で
>他のダイアログリソースとIDが重複していたみたいです。
て言うからさ。
しかし dialog control ID の重複なら >>889 で
>(CStatic*)(prgDlg->GetDlgItem(IDC_STATIC));
>では、まだNULLのままです。
てことはないだろう。意図した control は取れないが何か取れるはずだ。
0901デフォルトの名無しさん
2005/07/03(日) 16:01:09編集って何を指してる?
SetWindowText() はできるよ。
0902デフォルトの名無しさん
2005/07/03(日) 16:04:470903デフォルトの名無しさん
2005/07/03(日) 16:07:48それを GetDlgItem(IDC_STATIC) で意図どおり取得できるし、
なおかつそれが static control だったら SetWindowText() もできる
って言ってるのさ。
0904デフォルトの名無しさん
2005/07/04(月) 10:07:38returnキーを押すとWM_CLOSEが飛ぶようで、returnキーを押してもWM_CLOSEが飛ばないようにするためには
どうすればいいのでしょうか?
よろしくお願いします。
0905デフォルトの名無しさん
2005/07/04(月) 10:42:08OnOKをoverrideしたmethod作って、実装は空にするとか。
Escapeで閉じないようにするには、OnCancelに同じ事を。
タイトルバーの×ボタンを押したらダイアログを閉じるようにするには、
WM_CLOSEメッセージを捕まえたOnCloseハンドラで、CloseDialogとか
呼べばOKだったような希ガス
0906デフォルトの名無しさん
2005/07/04(月) 10:42:29フォーカスをあわせると日本語入力のモードに切り替わるようにしたいのですが
0907デフォルトの名無しさん
2005/07/04(月) 12:45:27ImmGetContext();
ImmSetOpenStatus(, TRUE);
killfocusのとき
ImmSetOpenStatus(, FALSE);
ImmReleaseContext();
日本語モードの制御は
ImmSetConversionStatus();
0908デフォルトの名無しさん
2005/07/04(月) 22:11:20Returnキーでダイアログが閉じるのは当たり前の挙動だけど、
それを敢えてそうさせたくない理由は?
レス数が900を超えています。1000を超えると表示できなくなるよ。