■MFC相談室 mfc18d.d ..
[2ch|▼Menu]
237:デフォルトの名無しさん
07/10/07 21:32:43
>>234
初期化と代入の違いわかってるか?
あと_T()マクロがどう展開されるか

238:234
07/10/08 08:29:48
WCHARベースのCStringでも
CString(LPCSTR)
operator=(LPCSTR)
の両方とも定義されているので、2.と3.が通るのは分かるが、
なら、何故1.が通らないのかがよく分からない。
1.は3.の省略系みたいなものだとの解釈は間違い?

239:デフォルトの名無しさん
07/10/08 08:39:47
コンパイラはヘッダみてるだけだから
コンパイラの立場でヘッダ見てみればいい

240:デフォルトの名無しさん
07/10/08 16:48:36
MDIでApp作ってます。

CMDIChildFrameA :: OnCreate()
{
dlg.Create(IDD_DIALOG, this);
}

としておいて

Dialog 内 OnOKで
if ( GetParent()->IsKindOf(RUNTIME_CLASS( CMDIChildFrameA )) )

とすると何故か失敗するのですが・・・
GetParent()で取れるCWnd* がCMainFrameになっているみたいです。
誰かボスケテ

241:234
07/10/08 16:52:45
(・∀・)ワカッタ!!

1.
CString str="33"; は、暗黙的に CString str("33") に変換される

2.
が、WCHARベースのCStringでは
#define CSTRING_EXPLICIT explicit
CSTRING_EXPLICIT CString::CString (LPCSTR str);
と宣言されることになる

3.
explicit宣言されていると、1.のような暗黙的なコンストラクタへの変換は禁止される。
よってコンパイルエラー発生。

explicit使った事無かったから、全然思いもつかなかった。

242:デフォルトの名無しさん
07/10/08 17:36:32
>>240
Windowsの仕様で、自動的にフレームウィンドウを親にされてしまうみたいだな。
Get/SetOwnerで関連付けてしまうのも一つの方法か。

243:デフォルトの名無しさん
07/10/08 18:20:18
>>242さん ありがとうございます

色々試してみてたんだけど
GetWindow(GW_OWNER) ← 駄目
GetParent() ← 駄目

SetOwner() GetOwner()すればRUNTIME_CLASSうまくいきました

244:デフォルトの名無しさん
07/10/08 22:34:05
>>228
MFC使わないコードで
Tooltip(?)の処理しなくても出てくるから
OSが処理してる。
だからOS依存で英語版なら英語で表示されるでしょ。

MFC内で独自処理してたらしらない

245:デフォルトの名無しさん
07/10/08 23:04:47
英語版のVCでコンパイルすれば解決ということだな

246:デフォルトの名無しさん
07/10/08 23:05:39
そうだっけ?
なんかリソースファイルの中くまなくさがしてみるとか・・・

247:デフォルトの名無しさん
07/10/09 00:25:46
SDIアプリでCreateWindowでCFrameWindowの子供ウインドを作成し、Viewの上に沢山並べてみた。
で、そいつらをクリックしたら、アクティブになってフォーカスがあたってフォアグラウンドになる予定だった。
でも実際はWM_MOUSEMOVEすらそいつらには飛んでこない。くるのはWM_CREATE,WM_MOVE,SIZE,PAINTくらいだ。
この子供ウインドをWS_POPUPとかにすれば飛んでくるけど。。あーわかんないよぉ。
子供ウインドの一つを選択したら、他のウインドがフォーカスを失って、選択されたウインドがフォーカスされて
しかもメッセージを受け取って欲しいんだよぉ。なんでだめなの?????


248:デフォルトの名無しさん
07/10/09 01:23:05
>>247
何が作りたいのか俺にはわからんが
他のアプリで似たような動きしてるもんあったら教えてみぃ

249:デフォルトの名無しさん
07/10/09 08:18:03
MFCのライブラリをスタティックリンクすると挙動が変になり悩んでます。

[現象]
・スタティックリンクすると、
 メニュー → ファイルを開く → コモンダイアログのフィルタに「すべてのファイル(*.*)」がなくなる。
・共有DLLでビルドすると普通に出来る。

--
新規プロジェクトでスタティックリンク試してみると
普通に出来るので俺が悪いのは確かだろうが・・・

ちなみにデバッグビルド(&スタティックリンク)すると
[docmgr.cpp]
DoPromptFileName()
    VERIFY(title.LoadString(nIDSTitle));
でエラーになる。
この先を追っかけているが(atlcore.hとか)だんだん鬱になってきた。
似たような現象になった人いませんか?

>>247 割り込んでごめんなさい

250:デフォルトの名無しさん
07/10/09 08:41:24
フォーカスないウインドウにもマウスのメッセージは飛んでくるし
WM_MOUSEMOVEすらそいつらには飛んでこないというのは変

251:デフォルトの名無しさん
07/10/09 14:34:01
>>248
そうですね。。たとえて言えばエクセルのオートシェープをウインドで表現し、
シートに沢山並べた状態みたいなものでしょうか。


252:デフォルトの名無しさん
07/10/09 21:54:53
トラッカークラス使えよ

253:デフォルトの名無しさん
07/10/10 10:54:24
VC6です。CListCtrlをレポート形式で使ってます。
SetExtendedStyle()でLVS_EX_GRIDLINESを設定するとグリッド線が表示されていたのですが、
Windows2000からWindowsXPに変えて、画面をXPスタイルで表示するとグリッドが消えてしまします。
設定の仕方を間違えているのでしょうか。

254:デフォルトの名無しさん
07/10/10 11:22:16
>>253
スクロールさせると消える挙動はバグ。修正予定はたぶん無い。
どうしても直したいなら、自前描画するしかないと思われ。

255:253
07/10/10 12:35:12
>>254
まだスクロールもさせていない段階なのですが・・・。

256:デフォルトの名無しさん
07/10/14 20:02:58
カスタムコントロールにCPenで書いた線を消そうと
void CLineChartCtrl::DeInvalidateCtrl()
{
CClientDC dc(this);
CRect rcClient;
GetClientRect(rcClient);
InvalidateRect(rcClient , TRUE);
}
として再描画しても消えないのはお子ちゃまだからデツカ?
ハンドルもしっかり取れてるのにな??


257:デフォルトの名無しさん
07/10/14 22:11:51
おぼっちゃまがやっていることは
ただ画面を更新してるだけ


258:デフォルトの名無しさん
07/10/14 22:14:22
再描画でまた書いてるだけなんじゃ……
ちなみに、その処理ならCWnd::Invalidate()一発で済む。

259:デフォルトの名無しさん
07/10/14 22:19:55
>>257のおじさま、ありがd
うぅぅぅ〜〜〜、嫌な悪寒デツ
どうしたら簡単に線が消せマツカ?
やっぱり書いた線をxorで描くとかマンドクサイことやんなきゃムリッポなのかなぁ。。。。。。うぅぅぅ〜〜〜


260:デフォルトの名無しさん
07/10/14 22:31:29
>>258さんもありがd
やってミマスタガ線が消えません、MFCってCPenクラスがあるならCEraserクラスも
作ってホスイ片手落ちって言うんだよねこれ豆知識
線が消したいというか初期画面に戻したいんデツガ、コンストラクタをも一回読んでみたら
どうなるのかな、実験シマツ

261:デフォルトの名無しさん
07/10/14 22:41:26
おまいは何か根本的に勘違いをしている。
ウィンドウに描画した内容は、基本的に保持されていない。
描画内容を変更したい時は、一旦クライアント全体を無効にして、
次の再描画からその変更した内容で描くようにする。

自前でフレームバッファを用意してそこに描画してる、とかは無しな。

262:デフォルトの名無しさん
07/10/14 22:45:15
>>260
おまえ、あたまん中をいっぺん消した方がいいぞ


263:デフォルトの名無しさん
07/10/14 22:57:24
最小化して戻したら消えてないか?

264:デフォルトの名無しさん
07/10/14 22:59:21
>>260
消しゴムかそうか?

265:デフォルトの名無しさん
07/10/15 01:27:09
まぁマイクロソフトのウインドシステムは確かにわかりにくい仕様がおおいけどな。



266:デフォルトの名無しさん
07/10/15 10:11:46
VS2005です。
SDIのプロジェクトからダイアログを追加し(CDialog1)、
そのコンストラクタにビューのポインタを渡してみたのですが、
ダイアログはフレームウィンドウの中央に出てきてしまいます。

void CTestView::OnLButtonDown(UINT nFlags, CPoint point)
{
  CDialog1 dlg(this);
  dlg.DoModal();
}

ダイアログのコンストラクタで親ウィンドウを指定しているのに、
なぜその中央に表示されないのでしょうか?
中央に表示させたい場合は、ダイアログに何を渡せばよいのでしょうか?

267:デフォルトの名無しさん
07/10/15 11:49:39
.........@ノ”

かたつむりなのです。
わかってほしいのです。
触られると触角がひっこんじゃうの。
動けなくなっちゃうの。
よくわかんない、でもそうなっちゃうのだ。
雨の日とかにぺたぺた這うのが好きなのです。
なんでかしら。
自分でもよくわからないのだ。
あんまり指ではがさないでください。
ごはんたべてうんこしようっと。


268:デフォルトの名無しさん
07/10/15 20:36:21
塩撒くか

269:デフォルトの名無しさん
07/10/15 22:02:40
>>266
>>240とたぶん同じ原因なので、同じ解決法で。
SetOwnerしておいて、OnInitDialogでCWnd::CenterWindow(GetOwner())。
別にオーナーに拘らずとも、中央配置の元になるウィンドウを渡せればいいんだけどね。

270:デフォルトの名無しさん
07/10/16 09:30:39
>>269
ダイアログのOnInitDialog()でGetParent()とm_pParentWndを調べてみたら、
m_pParentWndにはコンストラクタで渡したビュークラスが入っているのに、
GetParent()ではメインフレームが返ってきました。

OnInitDialog()でm_pParentWndを直接CenterWindow()に渡してみたところ、
ビュークラスの中央に表示させることができました。
m_pParentWndっていうのは隠れメンバっぽいけど、
これならダイアログを呼ぶ側でオーナーを別途指定する必要は無いですよね。

ダイアログのコンストラクタって、なんの意味があるんだ…?

271:デフォルトの名無しさん
07/10/16 11:14:36
>>270
それはダイアログ(そのもの)ではなくてダイアログクラスだ。
OnInitDialog()以前に一回だけ必要な処理を行なっておくなどの使い道がある。

272:デフォルトの名無しさん
07/10/16 11:49:03
>>271
> OnInitDialog()以前に一回だけ必要な処理を行なっておくなどの使い道がある。

もちろんコンストラクタの使いかた自体は理解しているつもりですが、
ダイアログクラスのコンストラクタで親ウィンドウを指定しても
それが実際の親にならないのなら、
コンストラクタで親ウィンドウなんて指定させるなよっていうことでした。

まぁ今回の件では、隠れメンバに保管されていることがわかったので、
コンストラクタに渡す作業は無駄ではなかったようですが。

273:デフォルトの名無しさん
07/10/16 17:58:53
>それが実際の親にならないのなら、

親になってるからCenterWindowが正しく動作しているのでは?
CWnd::GetParent()が親じゃなくオーナーを返すのは、内部で
呼び出しているAPI(GetParent())の仕様。
トップレベルウィンドウがGetParentするとオーナーを返すみたいね。

274:273
07/10/16 18:04:38
あ、CenterWindow(NULL)じゃ駄目なのか。しょっく

275:デフォルトの名無しさん
07/10/16 21:29:33
MFCアプリケーション(ダイアログ)の終了時、アプリケーションのの戻り値(%ERRORLEVEL%)を
使用したいんですが何か方法ありますか?

・コンソールアプリケーションだと一瞬コンソールが表示されるのが問題
・引数なしの起動でダイアログでて起動をさせたいができればMFCダイアログテンプレートで作りたい。

という理由です。

WinMainのでやれば恐らく可能とは思いますが・・誰か知ってたら教えてください。

276:デフォルトの名無しさん
07/10/16 22:04:11
>>275
CWinApp::ExitInstanceをオーバーライド

277:デフォルトの名無しさん
07/10/16 22:12:31
>>276
今その方法でやったらできました。

一応方法を書いておくと、ExitInstance で戻り値を返すだけではだめで
start /wait aaa.exe
とかしてアプリケーションの終了を待機しないとだめなんですね・・
当然といえば当然なのかも。

なにはともあれ、ありがとうございました。


278:デフォルトの名無しさん
07/10/16 23:44:10
ダイアログアプリケーションでCDialog派生クラスのデストラクタがないのですが、
デストラクタの処理はどこでするのでしょうか?

279:デフォルトの名無しさん
07/10/16 23:54:06
>>278
勝手にオーバーライドすればいい。

280:デフォルトの名無しさん
07/10/17 00:09:14
定型文のボタンを押したら、
CEditコントロールのカーソル位置に文字を自動で入力したいのですが、
どうやればいいですか?


281:デフォルトの名無しさん
07/10/17 00:13:17
現在のCEditの文字取得して定型文追加して再設定
カーソル位置は GetSel() で取得

282:デフォルトの名無しさん
07/10/17 00:26:29
>>281
ありがとうございます!

283:デフォルトの名無しさん
07/10/17 11:46:56
★番組で紹介された亀田史郎が息子・興毅に書いた手紙
興毅 ほんとうに おめでとう
お前は もう 親父だけの者ではない
今や世界の亀田興毅になったんじゃ
それも山あり谷ありの厳しい勝負の道を
ひたすら歩み続けたからこそ今日の栄光が会った
しかしボクシングの道は終った分けではない
これから厳しいボクシング道が待ってる
興毅よ万文の山はいくつはばまおうとも
戦陣の谷に何度も落ちようとも前え 進め
最後に 本当におめでとう
親父

★ アニメ「侍ジャイアンツ」最終回
川上監督が番場蛮に贈った言葉
番場よ、本当におめでとう。
おまえはもうジャイアンツだけのサムライではない。
今や世界のサムライになったんじゃ。
それも山あり谷ありの厳しい勝負の道を
ひたすら歩み続けたからこそ、今日の栄光があった!
しかし、野球の道はこれで終わったわけではない。
これから厳しい野球道が待っている。
サムライよ、万丈の山がいくつ阻もうと、
千尋の谷に何度落ちようと、前へ進め!
その前途を祝って、もう一度言わせて貰おう。
番場蛮、本当に、おめでとう!
巨人軍監督 川上哲治


284:デフォルトの名無しさん
07/10/17 21:16:32
visual c++ 2005 SP1でSDIアプリを作っています。
MFCをスタティックリンクでビルドすると、Cランタイム(_recalloc)で
メモリリークが発生します。共有DLLでビルドするとリークは発生しません。
リークのチェックにはBoundsChecker8.2を使用しました。

スケルトン(ソースは変更しない)でも同じでした。
どなたかご存知ないでしょうか?

285:デフォルトの名無しさん
07/10/17 22:26:32
>>284
BoundsCheckerって使ったことないから知らないけど
URLリンク(support.microsoft.com)
この情報のVCのバージョン相当古いのは分かってるが、参考にならないかな?

286:デフォルトの名無しさん
07/10/17 23:02:39
スタティックリンクは使うなってことよ


287:デフォルトの名無しさん
07/10/19 13:00:37
CInternetsessionでのFTPのcloseは、FTPサーバーにログが残らないものなのでしょうか。

288:デフォルトの名無しさん
07/10/19 15:04:58
CCriticalSectionについて質問があります。
今Visual C++ 2005でアプリを作成しているます。

TestA.cppに通信処理があって2箇所からココを呼び出してます
1つはTestA.cppのOnTimerからコール
1つはTestB.cppのワーカースレッドからコール
通信処理は、入った時点で CCriticalSectionのLock()、抜けるときにUnLock()してます

で、問題なのはTestB.cppのワーカースレッドから通信処理をコールし、Lock状態のときに
TestA.cppのOnTimerから通信処理をコールするとデッドロックしてしまいます

なぜそうなってしまうのか、原因が全く分からず困ってます・・・
何か分かる方、いらっしゃいましたらご教授お願いします


289:デフォルトの名無しさん
07/10/19 15:38:34
通信処理が怪しい。
OnTimerの呼ばれるスレッド側に依存する処理が混じっていないか?
メッセージキューが回っている必要がある、とか。

290:デフォルトの名無しさん
07/10/19 16:20:28
>>289
ご返答ありがとうございます
通信処理の本体はTestC.cppに用意してあり、そこで完結してます
それをTestA.cppからコールしているだけなのです
なので依存する処理とかはないと思います

簡単に書くとTestA.cppの通信部分はこんな感じです

void CTestA::SendProc()
{
m_CriticalSection.Lock();

TestC->SendData();

m_CriticalSection.Unlock();
}

もしかして、OnTimerとCCriticalSectionのLock、UnLockは
同じ場所(TestA.cpp)にあってはいけないとか
そんなことはない・・・ですよね?


291:デフォルトの名無しさん
07/10/19 17:26:09
当たり前だろ
Lock状態というのは、他から同時に同じ部分をアクセスさせないように
するのが仕様だよ
要はバッティングしないようにしてるわけだから、用がすんだら
解放される


292:291
07/10/19 17:27:56
>>291 は、>>288 に対するレスね

293:デフォルトの名無しさん
07/10/19 17:36:27
>>292
Lock状態のときに、その処理に入ったら待機状態になりますよね?
先にLockを掛けた処理が動いてUnlockしてくれればなんの問題もないのですが、
何故か動いてくれないんですよ・・・
なので困っております・・・
説明不足ですみません

294:デフォルトの名無しさん
07/10/19 18:06:04
ワーカースレッドからSendProcを呼び出した際にm_CriticalSection.Unlock(); 
までたどり着いてないってこと?

295:デフォルトの名無しさん
07/10/19 18:11:19
UI更新しようとSendMessageしてロック、とかは初心者にありがちなんだけどな。
TestC->SendData()の処理内容が判らないことにはなんとも。
あと、Lock/Unlockを直接書くより、CSingleLockを使っておいた方がいい。

296:デフォルトの名無しさん
07/10/19 18:32:57
>>294
はい、おっしゃる通りです
Lockした状態でOnTimerから通信処理に入って
m_CriticalSection.Lock(); の中へステップで進んで行くと
:EnterCriticalSection(&m_sect); で実行中になったまま処理が戻らず、
仕方なくデバッグ中断すると
「プロセスはデッドロックされているか、ユーザーモードコードがどれも実行されません。すべてのスレッドが中止されました。」
となります


>>295
TestC->SendData()の処理内容はUSBドライバに対して
プロトコルに沿ったデータの送信・受信をしています
CSingleLock、ちょっと勉強してみます


297:294
07/10/19 18:51:18
ならAPIのTryEnterCriticalSectionを使うか >>295の方法。
ワーカスレッドから呼ばれたTestC->SendData()がフリーズしてる可能性もある。

298:デフォルトの名無しさん
07/10/19 19:25:33
>>297
TryEnterCriticalSectionを試してみたところ、それっぽい動きになりました
ありがとうございます!

ところで、MSDNライブラリに書いてある解説に
「TryEnterCriticalSection 関数は、クリティカルセクションの所有権を
取得できたかどうかにかかわらず、すぐに制御を戻します。」
とありますが、これは処理が終わる前に次の処理が動いてしまう
と解釈してよろしいのでしょうか・・・


299:デフォルトの名無しさん
07/10/19 19:36:13
戻り値で、他のスレッドがCriticalSectionを所有している事が判るわけだから
後で再送するとか、諦めてエラーにするとか好きにすれば良い。

300:デフォルトの名無しさん
07/10/19 19:41:08
>>299
了解しました
戻り値で判断して何とか回避してみます

皆様、色々ご指導ありがとうございました
とてもとても助かりました
素敵な週末を過ごしてください

301:デフォルトの名無しさん
07/10/19 23:38:36
今後Winアプリって.NETがデファクトスタンダードとなるんですかね?
MFCは開発止まってるのですか?

302:デフォルトの名無しさん
07/10/20 00:03:37
デファクトスタンダード(笑)
まあ、そうだろうね。
XPが標準になってることで、.NETFrameworkデフォルトで入ってるだろうし

最近のすごいアプリ
3ds maxとか、C++/CLI(.NET使えるように拡張したC++)で
作られてるみたいだし


303:デフォルトの名無しさん
07/10/20 00:17:45
Win32で十分だろ。なぜ.Netなんかで開発するの?
いまはじめてWindowsFormアプリケーションってのを生成してみたが
さっぱりわからない。ショック。


304:デフォルトの名無しさん
07/10/20 00:37:31
しょぼいツール作るならWin32でいいけど、
こったもの作るなら、.Net最高

305:デフォルトの名無しさん
07/10/20 00:55:04
自分がMFCを勉強し始めた時と比べると、C++/CLIの学習は
随分楽だなーと思った。

でもC++/CLIの描画がGDI+を使わなくなるか、GDI+の性能が
大幅アップするまではMFCを使い続ける気がする。

306:デフォルトの名無しさん
07/10/20 09:55:15
結局.NETってライブラリとして充実しているんだろ?
Win32だって充実させてくれたらいいじゃん。
なんで言語まで変えるの。。

307:デフォルトの名無しさん
07/10/20 10:45:24
>>303
Win32、MFCが理解できて
.NET Frameworkが理解できないヤツはいねえだろ
MTは運転できるがATは運転できない というヤツがいないように

308:デフォルトの名無しさん
07/10/20 22:12:33
>>304
逆だろ?
こったものを.NETで作るのは無理
メモ帳程度のテキストエディタなら.NETでも十分つくれるが
メジャーなテキストエディタに勝とうとしたら.NETでは絶対無理

309:デフォルトの名無しさん
07/10/20 23:03:43
ちょっとさみしい気もするが手軽にきれいなのできるからいいよ
クラスの構造もMFCと比べるときれいだし、仕事の関係上使えないのが残念なくらいだ
C#とかで作ってるとVBって(使ったことないけど)こういうもんなのかなーって思うくらい簡単

310:デフォルトの名無しさん
07/10/22 20:41:09
ていうか基本的に糞重いアプリができる

311:デフォルトの名無しさん
07/10/22 22:28:10
296じゃありませんが

ちょっと前(>295)で
CCriticalSectionを直接Lock/Unlockするのではなく
CSingleLockを使った方がいいとありますが
その理由はなぜでしょうか?

CCriticalSectionだと待ち合わせ時間が設定できないって事くらいですか?

312:デフォルトの名無しさん
07/10/22 22:31:04
MFC71.DLLは何処からダウンロードできるのですか?

313:デフォルトの名無しさん
07/10/22 23:29:00
>>311
別に深い理由ではなく、単に解放し忘れが無くなるだけ。
途中returnや例外でロックしっぱなしとかなると危険だし。

314:デフォルトの名無しさん
07/10/23 01:20:13
C#でのDataGridViewみたいな便利なものはないんですか?

315:sage
07/10/23 02:40:33 BE:233717663-2BP(0)
質問です。

あるGUI有りのアプリから、別のDLLの関数を呼び、そのDLLが
生成したウィンドウを表示したところ、Tab キーや、OK, Esc キーなどが
期待通りに動作しない現象が起こりました。

具体的には、CMainFrame から DLLのある関数を呼び出し、その関数に
HWND を引数に与えて、そのHWNDを親ウィンドウとした、別ウィンドウを
表示しています。モーダルではありませんが、モーダルでも同じ挙動です。

原因が分かる方、教えてください。

VC++ 8.0 SP1
WinXP SP2

316:デフォルトの名無しさん
07/10/23 13:45:48
CEditコントロールで質問ス
カレット位置を取得するためにGetSel()を使うというのは理解できるんですが、
範囲選択状態となっている場合、カレット位置がどこにあるかという判断はどーすればいいっスか?

317:デフォルトの名無しさん
07/10/23 14:14:30
>>316
CWnd::GetCaretPos()で取れると思う。尤も、クライアント座標だから適当に変換する必要があるけど。

318:デフォルトの名無しさん
07/10/23 14:47:10
>>317
ありがとうっス!
ちょっと試してみるっス

319:315
07/10/23 16:44:59
自己解決しました。失礼しました。

URLリンク(msdn.microsoft.com)


320:デフォルトの名無しさん
07/10/23 17:12:21
VS2005、ダイアログベースで、マウスオーバーイベントを
ボタンコントロールが取得するにはどうしたらいいでしょうか?

↓やったこと
ボタンを画像にするのに、オーナードローでやってみて
それ自体は問題なかったのですが
マウスオーバーしたときにも画像を変えようと思ったら
マウスオーバーのイベントが来てませんでした。
MSDNみてCBitmapButtonなるものを使って見たのですが
AutoLoadでアサートが出てしまって動きませんでした。




321:デフォルトの名無しさん
07/10/23 17:41:50
>>320
前似たようなもの作った時は CButtonのサブクラスの中のOnMouseMoveで
マウスが入ってきたことを検知し、TrackMouseEventを呼び出してWM_MOUSELEAVE
を発生させるようにし表示画像を変えてた。一般的なやりかたかどうかは知らない。
WM_MOUSEHOVERも同様にTrackMouseEventで発生させることができる。
マウスオーバーってホバーのことだよね?

322:デフォルトの名無しさん
07/10/23 17:44:08
>>321
そうです。

ありがとうございまいた。
ちょっくらやってみます。


323:デフォルトの名無しさん
07/10/24 17:42:18
Win32APIスレから誘導されてきました。

MSGraph.Chart(Officeについてくるグラフコンポーネント)をウィンドウに張り付けたいんですが、どうすればいいですか?
MFCのCWnd::CreateContorlをいじってみましたが、うまくいかないです(´・ω・`)
゚・(ノД`)教えて下さい。

CWnd* wnd = new CWnd();
BOOL ret = wnd->CreateControl("MSGraph.Chart", "", WS_VISIBLE, rc, this, 2000);
で、retがFALSEになります。

CreateControlの第1引数を"mscal.calendar.7"にすると、ちゃんとカレンダーが表示されます。

324:デフォルトの名無しさん
07/10/24 18:45:52
ActiveXコントロールとして貼り付けたら?

325:323
07/10/24 19:25:39
>>324
(Officeフォルダ)\Graph9.olbをリソースエディタのツールボックスに登録しようとしたら、
「有効なCOMサーバーではありません」と言われました(´・ω・`)
そもそも根本的に無理なのでしょうか?

326:デフォルトの名無しさん
07/10/24 21:13:31
ググってみて思ったのだが、
もしかすると、MSGraph.ChartはActiveXドキュメントかもしれない。
自分の所にはOffice無いからそれ以上は分からないけど。

327:323
07/10/24 22:38:16
>>326
情報ありがとうございます(・∀・)
ActiveXドキュメントでググリましたが、要領を得ません(;´Д`)スミマセン
ActiveXドキュメントというのは、それ単体では表示できず、
ExcelのWorksheetや、RichEdit等にしか貼り付け出来ないということでしょうか?

328:デフォルトの名無しさん
07/10/26 16:24:44
質問です。

class CHogeA;
class CHogeB;

class CHogeA : public CView
{
...
private:
CHogeB m_hogeB;
};

class CHogeB : public CWnd
{

};

CHogeA 上に CHogeB を貼り付けて使っていたのですが、そうすると、
CHogeA にて例えばマウス操作などのイベントを拾うことが出来ません。

そこで、
1. CHogeA でも各種イベントを拾う、一般的な方法がありますか?
2. CHogeA と CHogeB で、ウィンドウを2枚作らず、1枚を共有するような手法がありますか?

よろしくお願いします。
WinXP SP2
VC++ 8.0 SP1


329:デフォルトの名無しさん
07/10/26 16:32:13
>217


330:デフォルトの名無しさん
07/10/27 01:14:52
>>328

>1. CHogeA でも各種イベントを拾う、一般的な方法がありますか? 

あなたの書いたとおりの構成でサンプルを作ってみたらマウスイベントは
全てCHogeAに流れました。逆にCHogeBでマウスイベントを拾うためには
細工が必要でした。

>2. CHogeA と CHogeB で、ウィンドウを2枚作らず、1枚を共有するような手法がありますか? 

おそらくあります。

要するに情報不足杉です。

331:デフォルトの名無しさん
07/10/27 10:09:51
SDIでCView
CViewでCWndをCreate
あとはどこもいじらないでCWndにMouseMoveイベント来たよ

332:デフォルトの名無しさん
07/10/27 10:30:33
スレ間違いで再投稿です。
マルチすいません・・・

Visual studio6.0です。
ラジオボタン2個、ボタン1個のwindow作ってます。
MFCでラジオボタンにintの変数を追加しようと
してもbuttonにしか変数が追加できません。

どうすれば、受付けてくれるのでしょうか?
VS.NET仕様のテキストを見ながらやってて違いに困ってます・・・

333:デフォルトの名無しさん
07/10/27 10:48:56
ラジオボタンはボタンなの

334:デフォルトの名無しさん
07/10/27 10:53:22
>>332
ラジオボタンのグループ分け(WS_GROUPのオン・オフ)がきちんとできているか?
面倒ならDDX_Radio()を直書きしてもいい。案外簡単だから。

335:デフォルトの名無しさん
07/10/27 11:07:00
>>333
言われて見れば・・・「チェックしたか、してないか」しかないのに
変数の設定っていうのも変な気がします・・・。

>>334
グループ分けは出来てると思うので
ラジオボタンがどんな値を返すのか勉強してきます。

VC6.0準拠の本かサイトも探してきます・・・

336:デフォルトの名無しさん
07/10/27 11:50:57
VC2005でもそこら辺の仕様は変更されていなかったはず。
MFCのヘッダをDDX_Radioで検索して、実際に中身を見た方がたぶん早い。

337:デフォルトの名無しさん
07/10/27 12:12:59
グループをチェックすれば出てくるな

338:デフォルトの名無しさん
07/10/27 17:21:37
Win2k 上で vc6 sp6 使ってMFC勉強中の者です。
ウィザードで CFormView 指定してつくったもので、
その画面のボタンから CDialogの Modal で表示してる部分があるんですけど、
垂直方向に一画面に入りきらなくなってスクロールさせようと思い、ハマッテマス。
リソースで垂直のチェック入れて、OnVScrollとってきてScrollWindowExつかって
みたんですけど再描画で位置がリセットされちゃうんで OnDrawで覚えた値を使って
ScrollWindowExで戻してます。みなさんもこんなやり方で実装します?
アドバイスお願いしますm(__)m
やり方、なんか間違ってる気がするんですよね……。
CFormViewでdoModal できれば楽なのになぁ〜。

339:デフォルトの名無しさん
07/10/27 18:13:37
リセットされるところをみるに、SetScrollPosしていない予感。
WM_VSCROLLはスクロールさせたいという意図を伝えてくるだけで、
実際にスクロールバーの位置を確定させるのはプログラム側の仕事。

340:デフォルトの名無しさん
07/10/27 18:35:10
スクロールバーが付いたダイアログって見たことない。
止めるつもりは無いけど、自分ならプロパティシート使う。

341:デフォルトの名無しさん
07/10/27 19:13:02
もう1個別のCFormViewのウインドウ出すのは可能だし
CDialogの上にCFormViewを貼り付けることも可能
でも問題はそういうことではなさそうだな

342:デフォルトの名無しさん
07/10/27 20:51:04
レスありがとうございます
>>339
ウィンドウについてるって事で OnVScroll内に引数でもってきてる pScrollBarは null なので
pos = ::GetScrollPos( m_hWnd, SB_VERT );しています。
あとは nSBCodeみて 移動量決め SetScrollPos( m_hWnd, SB_VERT, pos, TRUE );して
ScrollWindowEx( 0, 垂直移動量, NULL, NULL, NULL, NULL, 0 ) してます
で…再描画でリセットされてしまうので OnPaint()用意して ScrollWindowEx( 0, 総移動量, …
って感じになっちゃっております。
>>340
なるほど。プロパティシートですか。
いやぁこまった、変えられない仕様みたいでして。
>>341
CDialog上にCFormViewの貼り付けですか。 CDialog持ってるクラスのメンバーに
CFormView持ってるクラスをメンバーのインスタンスもたせるのかなって想って
ちょっと今やってみましたがProtectあたりでひっかかってコンパイルもとおりませんね。
難しい……。

343:デフォルトの名無しさん
07/10/27 21:18:23
子ウィンドウを全然動かしていない件について。
そりゃ、再描画でリセットされるように見えるわ。

子ウィンドウを一つ一つ動かすより、
フレーム-CDialog派生の子ウィンドウ(=フォーム) という風に乗せて、
フォームの位置を動かす感じで作ればいいんじゃないかな。

344:デフォルトの名無しさん
07/10/28 01:43:07
CSliderCtrlを使用して、マウスでクリックした位置に一発で移動する動作をさせたいです。
(通常はページスクロールをしますが、この動作をさせずに、クリックした位置に移動させたいです。)

ためしにGetChannelRectでスライダーの稼動範囲(厳密には稼動範囲より広いエリアになってしまうけど。。)とマウス位置から
Posを求め、SetPosしています。これだと問題が二個あります。
1)ユーザーが一回クリックすると、見た目上二回動く
2)そもそもGetChannelRectはスライダーの稼動範囲を取るわけではないので、微妙に位置の計算が狂う。

なにか良いアイディアは無いものでしょうか?


345:デフォルトの名無しさん
07/10/28 03:19:32
ぶち殺すぞ糞が

346:デフォルトの名無しさん
07/10/28 03:39:56
↑しゃぶれよ


347:デフォルトの名無しさん
07/10/30 11:52:37
とりあえず保守させておいてくれ
また質問したい時がくるかも知れんから

348:デフォルトの名無しさん
07/10/31 09:32:39
URLリンク(tserve01.aid.design.kyushu-u.ac.jp)
のページを見てキャラクターを表示しようとしてるんですが
キャラクターの白い部分が残って
うまく表示がされません、どうすれば良いか教えて頂けないでしょうか。
お願いします。

349:291
07/10/31 10:37:25
そのページを見てわからんのなら
君にはむりだ


350:デフォルトの名無しさん
07/10/31 10:49:25
>>348
謎は解けた!
マスク描画のROPを、SRCPAINTからMERGEPAINTに変えれば正しく描画される。

普通はキャラ画像の背景は黒にして、
SRCANDで抜いてSRCORで重ねるってのが定番だと思うのだけどな。
CImageListならカラーキーを使った描画ができるから、
こっちを使った方が手っ取り早いかも。

351:デフォルトの名無しさん
07/10/31 12:36:21
>>350さん
ありがとうございました。
感謝感謝です。

352:デフォルトの名無しさん
07/11/01 07:21:07
どうも、他スレから流されてきました。

Win32環境+VS2005で開発を行っています。
ダブルクリックでファイルを開く処理に対応させようと頑張っていた所
Debugビルドでは成功したのですが、Releaseビルドにするとファイルを開かなくなりました。
(でもショートカットに開きたいファイル名を指定するとReleaseビルドでもきちんと開く)

そこで処理を追っていくと、どうもInitInstanceメソッドが呼び出されていないようなのですが、似たような経験をされた方はいらっしゃらないでしょうか?




353:デフォルトの名無しさん
07/11/01 10:16:22
そこまで分かってんなら呼び出せばいいじゃん

354:デフォルトの名無しさん
07/11/01 14:28:25
CTreeCtrlを使ってエクスプローラライクなダイアログを作っています。
メーラーの未読数表示のように、フォルダ内のファイル数を表示する
方法はあるのでしょうか?

ラベル編集も可能にしたいので、"フォルダ名(n)"のように直書きでは
問題が出てしまいます。
やっぱり無理矢理作るしかないのでしょうか?

355:デフォルトの名無しさん
07/11/01 14:57:38
>>354
楽な方法は無いな。
NM_CUSTOMDRAWを始め、
いくつかの通知メッセージを処理しないと実現できないと思う。

356:352
07/11/01 15:25:21
>>353
すいません、関連付け関係のレジストリをすべて掃除したら直りました。
プログラムのミスではなかったようです。orz


357:デフォルトの名無しさん
07/11/01 15:33:26
ダブルクリックってそういう意味か
仕様を満足に説明できないやつは1人でやってればいいと思う

358:デフォルトの名無しさん
07/11/01 21:04:18
MFCを使った有名なソフトはどんなものがあるんですか?

359:デフォルトの名無しさん
07/11/01 23:51:16
秀丸


360:デフォルトの名無しさん
07/11/02 00:07:13
ペイント

361:デフォルトの名無しさん
07/11/02 15:55:16
>>358
有名になる予感
URLリンク(www.cute.or.jp)
10/31


362:デフォルトの名無しさん
07/11/03 21:48:38
Internet Explorer

363:デフォルトの名無しさん
07/11/04 10:19:39
>>361
いいねえ。
これは期待できる。

364:デフォルトの名無しさん
07/11/04 10:58:22
得体の知れないリンクは踏まないようにしてる

365:デフォルトの名無しさん
07/11/05 22:00:13
マルチです。すいません。
URLリンク(tserve01.aid.design.kyushu-u.ac.jp)
のお絵かきソフトを作るページを参考にしてるんですが
「ToolBar」の「IDR_MAINFRAME」のボタンとIDを書き換えても
ページに書かれているようなIDに対応するような関数が作られず
ボタンも描いたように表示されず灰色の使用不可のような状態
になってしまいます。
VS2005stdです。
どなたか、わかるかた、VS2005ではどうしたらよいか教えていただけないでしょうか。
お願いします。

366:デフォルトの名無しさん
07/11/05 22:06:23
>365
教えてやったのに無視してこっちに引越しか?
とんでもないやつだな

367:デフォルトの名無しさん
07/11/05 23:28:00
VC++2005スタンダードを使ってMFCを勉強しているのですが、
onNewDocumentやonOpenDocument、Serializeなどファイル操作や
イベント処理などがどういう流れで行われているのかがいまいち把握できないので、
詳しく解説してある良い書籍とかないでしょうか?

ちなみに今頃MFCかよとかなしでおねがいします。

368:デフォルトの名無しさん
07/11/06 02:40:56
いや、本当にいまさらMFC勉強しても意味がない
>>367
みたいな質問してるようだと、人に見せれるようなアプリがかけるまで、2年以上はかかる
2年後にはMFCはVSからなくなってるぞ

369:デフォルトの名無しさん
07/11/06 11:34:51
なくなるわけねーだろ
お前みたいな、おこちゃまアプリしか作らんやつには
MFC は必要ないだけだ


370:デフォルトの名無しさん
07/11/06 12:46:27
2年後が楽しみになってきました

371:デフォルトの名無しさん
07/11/06 13:17:56
2年後にMFCが無くなってたら怖いな。
M$がwin32apiを無理矢理クラス化し、永続させてきたMFCを
ばっさり切るなんて、今までの努力を捨てちまうようなもんだもんな。
それにVBを.net化したりしてるのを見れば「まだまだ、へこたれへんでー」
ってな感じに受け止めれる。
まぁ、主流はVC#VB.netの方針で発展していくんだろうね。

372:デフォルトの名無しさん
07/11/06 14:37:15
>>371
いいえ。C++の財産はとてつもなく大きいものです。

C++/CLI について語ろうぜ Part2
スレリンク(tech板)
これ最強

373:デフォルトの名無しさん
07/11/06 15:45:45
Picture ControlのBorderをプログラム実行中に変更する方法を教えてください

374:デフォルトの名無しさん
07/11/06 16:16:42
変らない?

375:373
07/11/06 16:17:49
>>374
やり方がよく分からないんです。

376:デフォルトの名無しさん
07/11/07 10:43:29
パスがファイルかフォルダかを判定する方法があれば教えていただけないでしょうか?
そのパスは存在することが前程でよいのですが。。。

よろしくお願いいたします。

377:デフォルトの名無しさん
07/11/07 10:53:11
ファイルの属性を見る
MFCにそういうのを扱うクラスはなかったと思う

378:デフォルトの名無しさん
07/11/07 10:58:57
>>377
CFileにGetStatus()があるのだが。static版の方は引き数にフルパスを取るから一応使えると思う。

379:デフォルトの名無しさん
07/11/07 11:25:51
CFileでディレクトリも扱えるの?

380:デフォルトの名無しさん
07/11/07 11:32:05
>>379
CFile::GetStatus()のstatic版は、実体を必要としないので普通の関数のように使える。
つまり、その対象を予め開いておく必要はない。詳しくは、MSDNでも読め。

381:367
07/11/07 18:08:26
>>368
何を根拠に2年なのかkwsk、というかカチンときた。

まぁ、ATLとか.NETとか出てる中、いまどきMFCやるのもあれかもしらんが・・・

で、MSDN以外に参考になるものはないってことかい?


382:デフォルトの名無しさん
07/11/07 18:13:41
カチンと来るのは勝手だけれど、MFCが斜陽なのは事実。
一頃本はたくさんあったようだしWebSiteもそれなりにあると思う。
それを探せないようでは先が思いやられるのも同感。

383:デフォルトの名無しさん
07/11/07 18:15:08
ATLとMFCって同じレベルのものなの?
全然知らなくてすまそ

384:デフォルトの名無しさん
07/11/07 20:48:24
無駄に複雑で使えないっていう点では同じレベル

385:デフォルトの名無しさん
07/11/07 21:13:42
簡単なツールならVB感覚でさくっと作れるじゃない。MFCは。

386:デフォルトの名無しさん
07/11/08 13:05:34
やっぱり.NET

387:デフォルトの名無しさん
07/11/09 15:15:14
View画面でのサイズ指定で
SDIのCMainFrameウィンドウサイズを変更する関数ってありますか?

やっぱり、指定のサイズ+枠のサイズとかメニューのサイズとかを計算しないとだめですか?


388:デフォルトの名無しさん
07/11/09 16:37:49
CHTMLViewクラスを使って表示したHTML文書のテキストの
色などをプログラム中から変更することはできるでしょうか?

PutPorpertyというメソッドを使えばできそうな気がするの
ですが使い方がよく分かりません。

<P class='test'>Hello, World</P>
というテキストの色を赤にする方法を教えてください。

389:デフォルトの名無しさん
07/11/09 21:49:22
>>388
CHTMLViewのGet/SetPropertyは、単にIWebBrowser2の同メソッドが呼ばれるだけ。
GetHtmlDocument()から始めるしかないと思う。という訳で、試しに書いてみた。
ちなみに、MFCでなくてATLだが全く問題無い。

// 1. CSSを追加してみる方法

CComPtr<IDispatch> spIDisp;
spIDisp.Attach(GetHtmlDocument());
CComQIPtr<IHTMLDocument2> spIDom(spIDisp);
CComPtr<IHTMLStyleSheet> spCSS;
spIDom->createStyleSheet(NULL, -1, &spCSS);
long idx;
spCSS->addRule(CComBSTR(_T("P.test")), CComBSTR(_T("color:red")), -1, &idx);

390:デフォルトの名無しさん
07/11/09 21:53:27
// 2. エレメントに直接スタイルを追加してみる方法

CComPtr<IDispatch> spIDisp;
spIDisp.Attach(GetHtmlDocument());
CComQIPtr<IHTMLDocument2> spIDom(spIDisp);
CComPtr<IHTMLElementCollection> spElemCol;
spIDom->get_all(&spElemCol);
spIDisp.Release();
spElemCol->tags(CComVariant(_T("P")), &spIDisp);
CComQIPtr<IHTMLElementCollection> spElemCol2(spIDisp);
for ( int idx = 0 ; ; idx++ )
{
spIDisp.Release();
spElemCol2->item(CComVariant(idx), CComVariant(), &spIDisp);
if ( !spIDisp ) break;
CComQIPtr<IHTMLElement> spElem(spIDisp);
CComBSTR clsname;
BSTR bstr;
spElem->get_className(&bstr);
clsname.Attach(bstr);
if ( clsname != _T("test") ) continue;
CComPtr<IHTMLStyle> spStyle;
spElem->get_style(&spStyle);
spStyle->put_color(CComVariant(_T("red")));
}


391:388
07/11/09 22:57:03
>>389 >>390
ありがとうございます。ATLは全く知らないのでコードは謎ですが、
必要なヘッダを調べてインクルードして何とか両方とも動かすこと
ができました。

if ( clsname != _T("test") ) continue; のところで
エラーが出たので調べてみると CComBSTR::operator==は
定義されていましたが CComBSTR::operator!=は定義されて
いませんでした。if ( clsname == _T("test") ) { /*../*/ }
と直すとコンパイル通りました。これはVisual C++6.0の
不具合かもしれません。

師匠になってほしいです。

392:デフォルトの名無しさん
07/11/13 02:19:17
URLリンク(blogs.msdn.com)
結局捨てないのか
ともかく壮絶なソースコードが見れそうだ

393:デフォルトの名無しさん
07/11/14 11:34:45
CReBarでレバーコントロールを利用しているのですが、
複数のコントロールを1つのバンドに含めるにはどうすればいいでしょうか。

CReBar cRebar;

cRebar.AddBar(コンボボックス)
cRebar.AddBar(ボタン)

とすると、コンボボックスとボタンが別々のバンドに配置されますが、
目的としては、コンボボックスとボタンを同一バンドに配置したいです。

394:デフォルトの名無しさん
07/11/14 12:30:31
各バンドには 1 つしか子ウィンドウ (コントロール) を含むことができません。
各バンドに複数の子ウィンドウを含めたい場合は、この点が制約になります。

395:393
07/11/14 17:10:33
なるほど、ありがとうございます。
ちょっと微妙ですけど、コンボボックスとボタンをスタティックコントロールの子にして、
そのスタティックコントロールをAddBarすることにしました。

396:デフォルトの名無しさん
07/11/15 00:22:50
MFCでExcelのセルみたいなぐりっどコントロールってないんですか?

397:デフォルトの名無しさん
07/11/15 01:22:56
ありません。ListCtrlを自前で拡張するか、CodeGuruでそうしたものを探すか、市販のライブラリを使うか、
ExcelをDDEで使うことになるかと。

398:デフォルトの名無しさん
07/11/15 18:29:30
拡張DLLでダイアログクラスをエクスポートしようとしているのですが、
ヘッダのクラス宣言の中に
enum { IDD = IDD_… };
という記述があります。
このリソースIDは拡張DLL側のResource.hに書かれているものです。

拡張DLLを使う側がこのヘッダをインクルードすると、
リソースIDが見つからないと言われると思うのですが、
拡張DLLでダイアログクラスをエクスポートする場合
この部分はどのように対応すればよいものなのでしょうか。

399:デフォルトの名無しさん
07/11/16 16:17:31
保守!

400:デフォルトの名無しさん
07/11/16 21:52:56
>>398
そのリソースIDが記述されてるヘッダをインクルードしなきゃいんじゃね?
使う側は、拡張DLL側のリソースIDなんて余計なだけじゃね?


401:デフォルトの名無しさん
07/11/17 18:06:11
MFC VC でセマフォや共有メモリみたいなのって無いの?

402:デフォルトの名無しさん
07/11/17 19:15:43
>401
自分で調べようとも思わないのか?

403:デフォルトの名無しさん
07/11/17 19:25:37
ぐぐってみようとも思わなかったんだろうな

404:デフォルトの名無しさん
07/11/17 19:25:53
VS2005付属MSDNのキーワードに「セマフォ」って入れるだけで
あっさり対応するクラスが見つかった件について。

おまえやる気無いだろ。氏ね。 >>401

405:デフォルトの名無しさん
07/11/17 22:35:15
>>404
そんな高価なツールもってねえよばーーか

406:デフォルトの名無しさん
07/11/17 23:04:35
VS2005のどこが高価なんだよw
今までのこと考えたらクソ安いつーの
つーかMSDNのちょっと遅れのイメージなんか完全フリーじゃねえか

407:デフォルトの名無しさん
07/11/17 23:12:13
MSのサイトでみれるMSDNはVS2005のとは別ものなの?
同じなら、オンラインで検索すれば。

408:デフォルトの名無しさん
07/11/18 16:15:43
基本的には同じはずだが…

409:デフォルトの名無しさん
07/11/18 17:58:57
VS2005 MFCです
折れ線グラフを描画する、ツールを作りたいんだけど
MFCのツールボックスには、ピクチャーコントロールというツールと
カスタムコントロールというのがあるけれど、どう違うのでしょうか?
また、グラフを描画させるにはどちらのコントロールを選んだ方がいいのでしょうか?


410:デフォルトの名無しさん
07/11/18 18:29:12
>>409
つ[TrueWinChart]

411:デフォルトの名無しさん
07/11/18 18:43:10
>>410
>>409です
True WinChart for .NETですよね、標準価格:102,900円
そんな予算でないです

412:デフォルトの名無しさん
07/11/18 18:58:09
自分で描画するだけだからコントロールは必要ない

413:409
07/11/18 19:11:21
>>412
ダイアログに直接描画するのではなく、ピクチャーコントロールかカスタムコントロールに
描いて、それをサブクラス化したいんだけど、違いがよく分からないんだよね

414:デフォルトの名無しさん
07/11/18 19:24:32
違いは標準かカスタムか

415:409
07/11/18 19:34:14
ということは、カスタムコントロールのほうが、拡張性(自由度)が
高いってことだね?

416:デフォルトの名無しさん
07/11/18 19:56:50
描画するだけなら、単純にウインドであれば良いだけじゃないの?
ゴテゴテ機能が付いている方がいろいろな横槍がはいって返って上手くいかないかもしれん。


417:409
07/11/18 20:34:14
>>416
言われてみればそうかも知れないな、
コントーロールを貼り付けて、描画専用クラスを別に書き、シリアル化したデータを
流し込んで、グラフを描画させようと思ったけど
よく考えたら、描画専用クラスは、ダイアログに描こうがコントロールに描こうが必要なわけで
対象となるオブジェクトがどっちになろうが、使えるクラスを設計する方が賢いかもしれないね

418:デフォルトの名無しさん
07/11/19 13:17:07
.flvから0.5秒おきのBMPを作りたいんですが
何かヒントだけでもいただけたら


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4161日前に更新/114 KB
担当:undef