952 :
デフォルトの名無しさん:02/12/09 17:43
Emacみたいなコマンドで編集するメモ帳を作りたいのですが、
CEditViewを使った方がいいのでしょうか?
それとも自分でクラス作ったほうが早いですか?
C++&MFC始めたばっかでよくわからんのです。
アドバイスください。
>>952 オリジナルのViewクラスは結構めんどいよ。
使い始めたばかりなら、まずCEditViewでドキュメントービュー構造になれたほうがよさげ。
最近故あってSDKベースからMFCにやってきますた。
operator= が使えるCStringArrayを作りたいんですが、どう書けばよろしいでしょう?
STLとかATLは使えない環境でつ。
>>954 レスありがとうございます。
了解しました。
>>955 普通に派生クラス作って operator= をインプリメントするのはダメなんでしょーか?
959 :
デフォルトの名無しさん:02/12/11 18:42
VC+++MFCでhttpsサーバにアクセスするクライアントを作成する場合、
どのAPI、クラスを使えばよいのでしょうか?
WinInetやそのラッパークラスにはhttpsについての記述がありませんでした。
INTERNET_FLAG_SECURE
CString に char[256]とかを
=演算子で何度も追加するのはまずいですか?
CMapWordToObでメモリリーク起こさない方法ってどうすればいいんでしょう?
deleteすると、キーを挿入しているところで大量に漏れてると言われます。
VC6.0です。
>>962 ループで回してMapの要素を一つずつdeleteする。
>>963 それでも結果全く同じ。
ダンプを見ると、どうもキーのメモリが開放されてないようなんですがそんなことあるんですかね?
以下、削除部のソース
{
POSITIONpos;
WORDkey;
CObject*pa;
pos = ThStack_w.GetStartPosition();
while(pos != NULL) {
ThStack_w.GetNextAssoc(pos, key, (CObject*&)pa);
ThStack_w.RemoveKey(key);
}
}
>>965 SetAt する時にオブジェクトを new してるんでしょ?
↓でどう?
pos = ThStack_w.GetStartPosition();
while(pos != NULL) {
ThStack_w.GetNextAssoc(pos, key, (CObject*&)pa);
delete pa;
ThStack_w.RemoveKey(key);
}
>>966 ダメでつ。
一発目からAccess Violationが出ます。
delete pa のとこで。
といーますかPtrじゃなくてOb系なんで、削除は保証されてるはずなんですがねー。
マニュアルまたバグってる?
ちなみに、MSDNがCMapWordToObの参考にしてくれって言ってる
CMapStringToObにはこうある
>CMapStringToOb オブジェクトを削除するか要素を削除すると、
>CString オブジェクトと CObject ポインタが削除されます。
>CObject ポインタが参照しているオブジェクトは破棄されません。
Mapの要素としてのCObject*は破棄されるが、
その先のオブジェクトは破棄しないということだな。
CMapWordToObの説明は
>その要素を削除すると、対応する CObject オブジェクトが削除されます。
ってあるが。
>>968 そんなことはない。
ThStack_w[para_w] = (CObject *)new CString(temp);
>>969 そう。
どっちを信じていいか小一時間悩んで、結局deleteできないなら後者だろ、と思った。
でも漏れ漏れ。どうなってんやら。
>>970 CStringはCObjectじゃないよ。
>>972 おお、それは気が付かなかった。
CStringArrayに替えたら解決しますた。
ダンケ。
>>973 CStringArrayでええんか?
CString*を保持するCMapWordToPtrの方が良いんじゃ?
975 :
デフォルトの名無しさん:02/12/12 19:36
MediaPlayerのActiveXコントロールで、実行時にサイズ変更する方法を教えてください。
MoveWindowするとエラー出てしまいます。
CMediaPlayer2を見てもそれらしきものが見当たらないっす。
978 :
デフォルトの名無しさん:02/12/13 05:22
スプリットウィンドウで分けて複数のビューを
表示してる場合にWM_KEYDOWNメッセージを
特定のビューで受けたい場合はどうしたらいいのでしょうか
どのビューでもOnKeyDownが動いてくれません
すいません、どのビューでも動かないとかいてしまいましたが
一番左上のビューで動きました
2列に分割して左の列を2行に分割していて
左下のビューで受け取りたいのですがSetActivePaneとかしても
アクティブになってくれません
すいません解決しました
ボタンにフォーカスあたってたのをなくしたら
OnKeyDown動いてくれました
ボタンにフォーカス当たったままじゃ
ビューがメッセージ受け取らないとは知りませんでした
>>974 元々スレッド間通信に使おうと思ってたから、Arrayの方が都合が良い。
故にこれでオケー。
続けて質問させてください
入力するキーによって
受け取るビューを変えたいのですが
どうしたらいいでしょうか
たとえば数字キーなら左のビュー
エンターキーなら右のビューといった感じです
|■\
| ∀`) ダレモイナイ...
| ⊂) ワショーイスルナラ イマノウチ
| /
./■\
∩´∀`∩ ワショーイワショーイ
ヽ 丿
( ヽノ
し(_)
/■\
(´∀`∩) ワワワワワショーイ
(つ 丿
( ヽノ
し(_)
age
>>986 いい加減にそういう冬厨丸出しなことはやめてくれ
冬坊丸出し上げ
どっちが冬厨だか(藁
d
a
r
e
m
o
1000
torannoka
YO!
jyaorega1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。