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

■ VisualC++(MFC限定)相談室 4■

■ このスレッドは過去ログ倉庫に格納されています
0001MFCNGNG
:: 「こんなことをするにはどうすれば良い?」というとき ::
※MSDNライブラリをよく読む。
※関連すると思われるクラスのメンバ関数を探してみる。
※そのクラスの基本クラスのメンバ関数も探してみる。
※Win32APIからも探してみる。
※WEB検索。

※たいていの問題は>>2-3のサイト/書籍で探せば解決。
0002デフォルトの名無しさんNGNG
:: 前スレ ::
まずはスレをさかのぼってキーワード検索してみよう。
■ VisualC++(MFC限定)相談室 2■
 http://pc.2ch.net/test/read.cgi/tech/1008031675/

■ VisualC++(MFC限定)相談室 3■
 http://pc.2ch.net/test/read.cgi/tech/1014057520/

:: 国内サイト ::
VC++ML
 ttp://mfc.acty-net.ne.jp/ml/mfc/
 WEBから過去ログ検索できるので便利。
Visual C Forum
 ttp://forums.belution.com/ja/vc/
 アーカイブ検索やTechTipsあり。

:: 海外サイト ::
CodeGuru
 ttp://www.codeguru.com/
 便利なクラスやTips、サンプルが満載。
CodeProject
 ttp://www.codeproject.com/
 便利なクラスやTips、サンプルが満載。
0003デフォルトの名無しさんNGNG
:: 書籍 ::
MFCによるWindowsプログラミング改訂新版
 MFCのバイブルと呼ばれている本。
 基本的なことから広範囲にわたって解説されている。
 ただしデータベースやネットワーク関連クラスについては
 触れられていない。

VisualC++5 パワフルテクニック大全集
 テクニック集。書籍名のとおり内容は少し古い。

ワンポイント・レッスン 最新Windowsプログラミングテクニック
 テクニック集。書籍名のわりに内容は少し古い。

Best of MSDN magazine 上・下巻
 ワンポイント〜の続編。

WinSock2.0プログラミング
 MFCの本では無いが、ソケット関連クラス(CAsyncSocket、CSocket)
 について書かれている数少ない書籍の中の一つ。


00041NGNG
一応良く使うサイトと自分の持っている書籍などから
独断と偏見で参考サイト/書籍を挙げておきました。
これからMFC関連の新書は出ないんでしょうかね……
0005デフォルトの名無しさんNGNG
>>2 についてだけど、海外のサイトなのに、なぜhを抜いたりするの?
0006デフォルトの名無しさんNGNG
>>5
国内と海外を区別する理由は?
0007デフォルトの名無しさんNGNG
そもそも、何のためのimeなのか。
0008デフォルトの名無しさんNGNG
MFCの今の状況は斜陽なのかなー?
0009デフォルトの名無しさんNGNG
次々と新しいもんがでますから
0010デフォルトの名無しさんNGNG
ツールバーの特定のボタンに動的に色をつけたいのですが、どうすればよいでしょうか?
イメージとしては、ツールバーにWordのような文字色を変更するためのボタンを作り、
色を選択するとそのボタンの色も選択した色で着色したいのです。
0011デフォルトの名無しさんNGNG
相談よろしくお願いします。
サブクラス化したコントロールをメンバに持つ親ウィンドゥがあり、
それら両方に同じメッセージに反応するハンドラを実装した場合、
試してみると親ウィンドゥのハンドラのみが呼び出されます。
これを、サブクラス化されたコントロールのハンドラも呼び出されるように
する方法ってありますでしょうか?
当然、親のハンドラ内で m_MyControl.OnXXX() を呼び出したり、
メッセージを親の WindowProc() 内で処理するようにすれば実装できますが、
これでは保守性が悪いので、スマートな方法を模索しております。
0012デフォルトの名無しさんNGNG
>>11
ON_CONTROL_REFLECT_EXマクロを使って、ハンドラ内でFALSEを返す
のはどうかな?
これだと子→親へとメッセージがルーティングされる。
0013デフォルトの名無しさんNGNG
>>12 様
11です。
すばやい回答ありがとうございます。
まさしく、ご指摘どおりの方法で希望の動作を実現することができました。
ありがとうございました。
これで、親ウィンドゥでは通常の方法でメッセージハンドラを追加するだけで
両方のハンドラを呼び出すことができるようになりました。
0014 NGNG
ダイアログのサイズ変更時にボタン等の位置変更はどこでやればよいのでしょうか。
Button.MoveWindow()で動かしているのですが、
WM_SIZEを拾うOnSize()でやるとコンパイルは通っても実行時に止まってしまいます。
OnPaint()では縮小のみの場合書き直されないようで・・。
0015デフォルトの名無しさんNGNG
実行時に止まってしまうとかはデバッグして具体的にどこで止まってるなど
確認したほうがいいよ。その方が回答も得られやすいし。
この場合、たぶん始めにOnSizeが呼ばれたときはまだコントロールが
無いから、Button.MoveWindowのButtonが無いって起こられてるんだと思う。
OnSize内で
if(Button){
 Button.MoveWindow(・・・);
}
としてみては。
0016 NGNG
上記で動かせました。
起動時にもOnSizeが呼び出されるんですね。
ありがとうございました。
0017デフォルトの名無しさんNGNG
プロパティシートとタブコントロールについての相談です。
プロパティシートにプロパティページを複数張り付けて表示しています。
そのうちのプロパティシートで最初にAddされたページ(ページのINDEXは0だと思う)
のタブ部分にフォーカスというか、カーソルというか、クリック後のように
文字が点線で囲まれたような状態にしたいんです。
調べたところCTabCtrl::SetCurFocusを使うのではないかと思い、
ページのOnInitDialogでやってみたのですが使い方を間違えているのか、
うまくいきませんでした。何かヒントなどあったら教えてください!お願いします。
0018デフォルトの名無しさんNGNG
OnInitDialog()がTRUE返してないか?
0019デフォルトの名無しさんNGNG
TRUEになってました・・・でも、FALSEにしてもやっぱりだめみたいです。

0020デフォルトの名無しさんNGNG
デフォルトで自動的にPage内のコントロールに
フォーカスが移ってしまうみたいだね。
これを断ち切ればタブにフォーカスがセットされたままになると
思うのだけれど・・・どうしたものか。
0021デフォルトの名無しさんNGNG
タブ.SetFocus();
タブ.SetCurFocus( 1 );
でだめならPostMessageするしかないかな。
0022デフォルトの名無しさんNGNG
>21
そうですか・・・ありがとうございました。PostMessageですね。
やってみようと思います。
0023デフォルトの名無しさんNGNG
CSingleDocTemplateで表示されるメニューの有効/無効などを変更したり、
キャプションを変更するには
どうしたらいいでしょうか?
0024デフォルトの名無しさんNGNG
一生懸命勉強してもMFCなどもう時代遅れ。
ホントいい加減にして欲しいよなぁ
MFCが行き詰まったとか対応できなくなったとか、そんなんあるか?
0025デフォルトの名無しさんNGNG
23
何をしたいか書いてないから断定できないが・・・
動的にドキュメントテンプレートのリソースが交換でないし
AfxGetMainWnd()->SetWindowText ( "My Own Title" );
SetMenu();or UPDATE_COMMAND_UIのCCmdUIを使うしかなと思う。
0026デフォルトの名無しさんNGNG
MFCを使えばWin32APIを生で使った時よりも楽になりますか?
0027デフォルトの名無しさんNGNG
MFC AppWizardとかClassWizardとか使ってフレームワークの範囲の操作なら全然
楽です。フレームワークの範囲ならC++の知識も大して要りません。
(テストプロジェクトを作って見ればどれだけ楽か判ります)
それ以外は全く同じです。
0028デフォルトの名無しさんNGNG
ありがとうざいましたm(..;)m
0029デフォルトの名無しさんNGNG
変形したダイアログウィンドウはどうやって作るんですか?
丸型のウィンドウとか、六角形だとか、もしくは複雑な形のウィンドウです。
0030デフォルトの名無しさんNGNG
>>29
SetWindowRgn
0031デフォルトの名無しさんNGNG
有難うございます。
0032デフォルトの名無しさんNGNG
>26
大して楽になりません。結局Win32APIとMFCの関係を知らないと
困ること多し
0033デフォルトの名無しさんNGNG
CEditを全選択状態にしたいのですが、
o_edit_control.SetSel(0, -1, false);
UpdateData(false);
これでコンパイルは通るんですが、全選択がされません。
第2引数に5などの数を入れたり、第3をtrueにしてもダメ。
何か他に設定とかありますか?
0034デフォルトの名無しさんNGNG
なんでUpdateData(false); してんの?
なんでUpdateData(false); してんの?
なんでUpdateData(false); してんの?
0035デフォルトの名無しさんNGNG
ツールバーにテキストボックスを入れたりするのは難しいのでしょうか?
出来ればスマートな方法をお教え頂きたいのですが。
0036デフォルトの名無しさんNGNG
>>35
ツールバーの代わりに ReBar を使ってしまうのがスマートかと。
0037デフォルトの名無しさんNGNG
CToolBarを継承したクラスの中にCEditを持って、OnCreateをオーバーライドするとか。
0038デフォルトの名無しさんNGNG
>>35
セパレータの幅を指定することが出来るので広めのセパレータを作成し、
その領域にEditを貼り付ける。
0039デフォルトの名無しさんNGNG
MFCでTreeViewを作成したのですが、一番上の階層にもボタンが表示されてしまいます。
表示しないようにするには、どうしたらいいですか?
0040デフォルトの名無しさんNGNG
windowのstyleから TVS_LINESATROOT を削除
004135NGNG
皆さんサンクスです。
教わったキーワードを元に色々調べてみます。
ありがとうございました m(_ _)m
0042デフォルトの名無しさんNGNG
アクティブビューってどうやって取得すればええんでしょう?
0043デフォルトの名無しさんNGNG
google検索
アクティブビューの取得
0044デフォルトの名無しさんNGNG
CListViewをレポート形式で使ってます。
ビュークラスのOnUpdate()中でサブアイテムを追加しようとすると失敗します。
何か足りないんでしょうか?こんな感じ。
void CPageNumerView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
CListCtrl& listCtrl=GetListCtrl();
listCtrl.DeleteAllItems();
CPageNumerDoc* pDoc = GetDocument();
LV_ITEM listitem;
for(int i=0; i < pDoc->m_PageNo; i++){
int iActualItem;
listitem.mask = LVIF_TEXT;
listitem.iItem = i;
listitem.iSubItem=0;
listitem.pszText=_T("サブアイテム番号0は追加成功");
iActualItem=listCtrl.InsertItem(&listitem);
listitem.iItem = iActualItem;
listitem.mask = LVIF_TEXT;
listitem.iSubItem=3; // ここに0を指定すると正常動作
listitem.pszText=_T("追加されないよー");
      listCtrl.SetItem(&listitem);
}
}
ちなみに何故か同じ処理をOnInitialUpdate()で行うとちゃんと動きます…。
004542NGNG
1件しかヒットしねえじゃんと思ってたら答えでした。
ありがとう。氏んでくる。
004644NGNG
自前で解決しました。ども。
0047デフォルトの名無しさんNGNG
>>46
いいえ、どういたしまして。
0048デフォルトの名無しさんNGNG
TreeViewの+ボタンが押されて、ツリーが展開されるのを判断するにはどうしたらいいですか?
TVN_ITEMEXPANDINGを捕まえれば良いような気もしますが、これって展開か縮小かどっちか判断できませんよね?
004948NGNG
すみません、よく調べたらactionメンバで取得できました。
0050デフォルトの名無しさんNGNG
めちゃくちゃ遅レスだけど
前スレ881のPtInRegionだけど解決したので一応ご報告

If (rgn.PtInRegion(point) == TRUE)

これを
If (rgn.PtInRegion(point) != FALSE)

に変えたら直りました。
こんな落とし穴に1週間悩むなんて....鬱
0051デフォルトの名無しさんNGNG
最近のこのスレの流行は…「自分で解決」。
ま、人に話してると分かっちゃうってのは実際よくあるけど。
0052デフォルトの名無しさんNGNG
話すために問題を整理しているうちに..てやつだな。
よい傾向ではないか?
0053デフォルトの名無しさんNGNG
プロパティーシートを作成して,
ページ1(クラスMyPage1)にEditBoxを置いています.
そのEditboxの値を,
CMyDlgクラス(始めに作成したクラス)のOn_Button()内で使いたいのですが.
クラスが違う時はどのようにEditboxの中身を参照すればいいのでしょうか?
0054デフォルトの名無しさんNGNG
EditBoxにClassWizardでCString変数を割り当てておくと
public宣言されるので外から参照できます。
0055デフォルトの名無しさんNGNG
>>50
BOOL だから安心したんだろうけど、MSDN はちゃんと読むもんだよ。

BOOL PtInRegion(HRGN hrgn, int X, int Y);
戻り値
点がリージョンの内側に含まれていたときは、0 以外の値が返ります。
点がリージョンの内側に含まれていなかったときは、0 が返ります。

TRUE が返るとは一言も書いてない。そもそも C 言語で...

if(xxx == TRUE){...

とかくのはどうかと思う。真偽しか返ってこないとわかっているなら...

if(xxx){...

と書いたほうが良いと思う。(まあ、個人的見解だけどね。)
0056デフォルトの名無しさんNGNG
>>55
漏れは前者の方が好きだが。分かり易くて良いよ。== TRUE
0057デフォルトの名無しさんNGNG
==TRUEはやめておいたほうがいいだろ・・・
005855NGNG
>>56
まあ、>>55 にも書いたが、個人的見解が色々ありそうなところではある。
ただ、>>50, >>57 の通り == TRUE は、色々危ないし != FALSE
と書く余計わかりにくくなると思うが、どうよ ?
0059デフォルトの名無しさんNGNG
ビットマップファイルを読み込むくらい簡単にJPEGファイルを読み込んで表示する方法ありませんか?
0060デフォルトの名無しさんNGNG
混乱の元だから==TRUEはやめたほうがいい。
BOOLはboolじゃないんだから。
0061デフォルトの名無しさんNGNG
「0かそれ以外」と仕様に明記してあるのに
「1かそれ以外」で判定するのはやめてくだちい。
0062デフォルトの名無しさんNGNG
>>59
OleLoadPicture。これ最強。
0063デフォルトの名無しさんNGNG
CScrollViewにCEditを配置したいんですけど、
CEditにいったんフォーカスを移してしまうと、ScrollViewをクリックしても
KILLFOCUSされないんですよね。
これ、何か回避方法はあるのでしょうか。要はScrollView上にフリーに
文字列を書いて行くようなアプリを作りたいのですが。
0064デフォルトの名無しさんNGNG
>>63
ViewにEditって貼り付けるって、その考え方おかしくないか?
あり得ないと思うが。
006563NGNG
>>64
そですか?表現が悪いのかなぁ。Winプログラミング初めてなもんで。
フォームビューにエディットボックスを貼り付けるのは普通にやりますよね。
スクロールビューにも貼り付けることは出来たんですけど、
(そもそも、貼り付けるって言う表現は適切なのかな・・・)
編集状態から抜けるためには、ビューのところをクリックしてもだめなんですよね。
0066デフォルトの名無しさんNGNG
>>64ありえるだろ、いくらでも
0067デフォルトの名無しさんNGNG
>>65
ウィンドウはクリックしても自動的にフォーカスは受け取ってくれないんじゃなかったっけ?
OnLButtonUpでSetFocusじゃないかな?
0068デフォルトの名無しさんNGNG
ダイアログの動作
CView →CFormView(Dialog)→CEdit

ビューの動作
CView →CCtrlView→CEditView(Edit)

0069デフォルトの名無しさんNGNG
>>68
何が言いたいのか解らないのですが・・・
0070デフォルトの名無しさんNGNG
>>67
解決しました。ありがとうございました。
OnLButtonDownじゃ駄目なんですね。なぜなんでしょう。まだ精進が足らんな。
0071デフォルトの名無しさんNGNG
CFileDialogでファイル名を複数取得すると、
謎な順番でファイル名が返ってきますけど、
アルファベット順に受け取りたい、時は、
どうすれば良いでしょう?
0072デフォルトの名無しさんNGNG
>>71 自力でソートするとか。
0073 NGNG
CTreeCtrlに構造体やオブジェクトを登録ってできますか?
ツリーの選択されたノードに登録されているオブジェクトを取得ってしたいのですが。
0074デフォルトの名無しさんNGNG
SetItemData
0075デフォルトの名無しさんNGNG
現在、IEへD&DでファイルをアップロードするActiveXをVCで作ろうと考えています。
http://www.ne.jp/asahi/hishidama/home/tech/vcpp/dropfile.htmlをサンプルに、
VC6++でMFC ActiveX ControlWizardでEDITを基底クラスにして、DragAcceptFiles()と DragQueryFileでDropを受け取るコンポーネントを作成し、ActiveX Control Test Container で実行したところ、問題なくエクスプローラからファイルをDropすることができました。
しかし、HTMLに貼り付けIE上から同じことをしようとしたところ、このコンポーネントはDropを受け 取ることができませんでした。
もうひとつこのコンポーネントからDialogを開き、それを「ドラッグドロップを許可」で受け取れるよ うにして実験してみても結果はおなじでした。

IEのセキュリティ上の問題なのかとも考えていますが、そういう資料がみつかりません。
0076デフォルトの名無しさんNGNG
SDIアプリでシリアライズするときに、ファイルの形式が旧バージョンと
変わってるときはおまえらどうしてますか?
 1.旧バージョンのファイルと互換性をなくす
   (このことをReadme.txtなどでユーザに通知)
 2.ファイルの先頭にバージョンを表すコードを埋め、
   読み込み時にそのコードでファイル形式を場合分け
 3.シリアライズ時にスキーマ番号でファイル形式を場合分け

実は3でやろうと思ったらスキーマ番号が反映されなくて困った。
GetObjectSchema()で番号を取得しても4294967295という変な数字しか
返ってこないのです。
0077デフォルトの名無しさんNGNG
>>76 うちは2やね。ところで実はSetObjectSchemaしてないとか言わんといてくれよ。
0078デフォルトの名無しさんNGNG
おそらくとてつもなく初心者質問ですが教えてください。
今度はいった会社にVC6.0があります。ソフト屋でないので
誰も使っていません。もちろんMSDNには入っていません。

その古いVC6.0でWin2000命令のColorRGBtoHSLが使えません
おそらくダウンロードサイトいって落としてくれば良いと
思うのですが該当するファイルがわかりませんでした
VCサービスパック5は落として当てていますがダメのようです

前の会社ではVC6.0 Win2000サービスパック(名前うろおぼえ)
というCDがあったのでそれとは思うのですが・・・・

よろしくお願いします
0079デフォルトの名無しさんNGNG
76
4294967295==0xfffffffだからオブジェクトのバージョン不定とおもわれます。
CXXXDocクラスなんかはDECLER/IMPLEMNT_SERIALしてもクラス情報をファイルに
書き込まないから必ずオブジェクトのバージョン不定になります。

0080デフォルトの名無しさんNGNG
>>79
てことはCDocumentの派生クラス(つまりAppWizardで生成されるもの)
ではスキーマ番号によるバージョン管理はできないということですか??
0081デフォルトの名無しさんNGNG
80
何故ドキュメントやビューの子クラスのバージョンがー1になるかは知りません。ですが
ar.SerializeClass()でクラスの情報を強制的に読み書きすればドキュメントクラスも
バージョン管理ができます。(MSDNアンドキュメンテッドです)
そもそもファイルのバージョンという概念がないですから(クラスのバージョンと
いう概念しかない)ファイルバージョンクラスを作って管理するのが正しいやり
かたかもしれません。

IMPLEMENT_SERIAL(CMyDoc, CDocument, VERSIONABLE_SCHEMA|100)//Ver1.00

void CMyDoc::Serialize(CArchive& ar)
{
ar.SerializeClass( RUNTIME_CLASS(CMyDoc) );//親でなく自分のクラス名
if (ar.IsStoring()) {
ar << m_pObject;
} else {
UINT nVersion = ar.GetObjectSchema( );
ar >> m_pObject;
}
}
0082 NGNG
とりあえずVC++6.0で簡単なソフト作りますた。
当然マイPC(Win98)では稼動するわけだけど
これってどのマシンで動くの?

VBの場合ってVBランタイムってのが入ってないとだめじゃん。
他のPCで動かす場合でVC++が入ってない場合
VCで作ったプログラムもこのようなVCランタイムみたいなのが
必要なの?
ちなみに95で起動エラーおこしました。
0083デフォルトの名無しさんNGNG
MFC限定
0084デフォルトの名無しさんNGNG
MFC42.DLLとか言うのが必要
もしくわスタティックリンくさす。



とよく確かめもせず答えてみる
0085デフォルトの名無しさんNGNG
>>82
スマソ向こうに書き込んでた。
http://pc.2ch.net/test/read.cgi/tech/1022402165/720
008682NGNG
>>84
>>85
いまいちわからんけど、とにかくありがとう。

えーっとVC++が入っているPCはDLLがはいっていて
普通に作ったデバッグフォルダの中にある完成品単独で動くんだよね。
サブマシンWin98で作ったものがメインマシンXP(VC++インストールしてある)
で単独で動きました。
ただ大学のWin95のVCはいっていないマシンで動きませんでした。
このMFCDLLってのは通常は入っていないものなの?
えーっとスタティックリンクってのもそれっぽいエラーでました
そこをなんとかすれば動きそうなんですけど。
>>85さんのが答えなんだろうけどちょっとわかんないです。
つまりどうしたらいいのでしょうか。バカですいませんです。
0087デフォルトの名無しさんNGNG
VC++6Pro以上でコンパイルしたならWin95でmy.exeが単独で動くはず。
(VC++.net standard 以上と思う)

スタティックリンクのオプションが通っていて、Win32 Releseになってる
の確認してもうリビルドしてみたら。(my.exeはreleaseのしたにある)

もしかしたらスタテックライブラリが(コンパイルマシンに)インストールされて
ないかもしれないからその時は、ライブラリをインストールするか、
他のWin95or98機からMFC42.DLLをそのWin95機のwindows\systemフォルダー
にコピーするだけでMY.exeが動くようになると思うけど。(未確認)
0088デフォルトの名無しさんNGNG
きょうび95ユーザーはいないだろうから
まあ無理して95でうごかすつもりはないけど
みなだんはVC++で作った作品を公開する場合、
どうしてるんですか?98、Me、XPで動くようにするために
0089デフォルトの名無しさんNGNG
スタティックリンクでコンパイルしたらどんなエラーが出たの?
0090デフォルトの名無しさんNGNG
えと、壁紙を変更するプログラムを作りたいと思ってます。
で、その壁紙で使用するJPEG画像をプログラム中に埋め込んで、ユーザが
用意せずにボタンを押すだけで変更できるようにしたいのですが。
プログラムに画像を埋め込んでそれを使用できるようにする方法はどのようにしたらよろしいでしょうか?
色々WEBで調べてみたのですが、検索の仕方が悪いのか、全然わかりません。(TT
0091デフォルトの名無しさんNGNG
CString型に代入した文字列は、何文字かであふれるわけですよね。
どうすれば莫大な文字列を格納できるでしょうか?
0092[email protected]NGNG

「高性能ビデオスタビライザー」です↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA

店頭販売価格は、13900 円なんですが、
今回だけ、破格の 7100 円に設定して
おります。

購入希望の方は、名前の所にも書いて
ある、[email protected] 迄、
メールを下さい。

不安な方は、落札をして頂いても
構いません。
0093デフォルトの名無しさんNGNG
>>90
res://ファイル名
形式でリソースにアクセスできたはず、
ドキュメントは・・・どこで見たか忘れた。
res://C:\WINDOWS\System32\shdoclc.dll/dnserror.htm

それが壁紙に使えるかどうかは知らないけどね。
0094 NGNG
ダイアログベースのアプリケーションについて質問です。

1.プロジェクト名"Test"でダイアログアプリケーションを新規作成する。
2.リソースエディタでプッシュボタン(ハンドラ:OnButton1)を作成する。
3.それぞれのソースに下記を追記。
 ・TestDlg.h
   class CTestDlg : public CDialog{
   private:
     CWinThread* mpThreadList;
   };
 ・TestDlg.ccp
   extern UINT gThread (void* pParam);
   void CTestDlg::OnButton1(){
     mpThreadList = AfxBeginThread(gThread ,this);
   }
   
   UINT gThread (void* pParam){
     UINT i,j=1;
     for(i=0;i<30000000;i++){
       j *= j; j /= j; j++; j--;
     }
     AfxEndThread(0);
     return j;
   }
4.上記を実行し作成したプッシュボタンをクリック。
不具合)
 gThreadの実行中にダイアログを閉じるとメモリリークが発生する。

上記のようなメモリリークが起きて困っています。
どのように記述すればよいのでしょうか?
0095デフォルトの名無しさんNGNG
#defineの代わりにconst int NUM = 20;
とやったら純粋仮想関数の定義が間違いだとえらーがでます=0とやれと。
なんで??
0096デフォルトの名無しさんNGNG
よーし今日こそはパパ、MFCやっちゃおうかな〜
0097デフォルトの名無しさんNGNG
>>91
生ポインタを使う。
>>94
気づいたとこだけ
AfxBeginThread(gThread ,this)にはCWnd*を渡さないほうが
よいといわれている。
AfxEndThread(0);
return j; <-これは実行されない気がする。
あとメモリリークはオートデリートするフラグとかの関係かも

以上適当に書いてみました。バーカバーカ
0098デフォルトの名無しさんNGNG
>>91
あふれそうになったら、勝手に伸ばしてくれるので気にしなくてよい。
0099デフォルトの名無しさんNGNG
CStringは
INT_MAX-1
まで。それ以上は使えません
0100デフォルトの名無しさんNGNG
上限まで使う心配もなさそう。。
0101デフォルトの名無しさんNGNG
>93さん
ありがとうございました。
どうやら、壁紙には使えないようです><

ファイルをハードにコピッて使えるかどうか試してみます。
■ このスレッドは過去ログ倉庫に格納されています