1 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 03:44:55 ] スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-5 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
231 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:04:12 ] returnの下に文が続いてるとか言わないよな? とりあえず return 0; ↓ break; にしてみ
232 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:07:47 ] >>230 DefFrameProc呼んどけ
233 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:08:01 ] >>231 すごい!!!!出てきました!!!ありがとうエスパー! case WM_CREATE:とかだとreturn 0;でいいのに なんでcase WM_SIZEはbreak;なんだろう!?
234 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:14:44 ] ttp://www.geocities.jp/ky_webid/win32c/034.html ttp://wisdom.sakura.ne.jp/system/winapi/common/common9.html どっちもreturn 0;なのに・・・・・
235 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:20:57 ] switchのdefaultにDefWindowProc入れて他はbreakしてreturn 0;にしてる。
236 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:22:10 ] げ、俺が学習に使ったページまで・・ こういう場合ってreturn 0;が定石なのか? デフォルトプロシージャに処理させたくないとき以外は デフォルトプロシージャに処理がわかるようにするもんだと思ってた。
237 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:30:45 ] DefWindowProcには自分が処理しないメッセージだけを渡せばよい。 しかしDefFrameProcはこんなメッセージを処理すると書いてあるのだから、それらのメッセージは渡してやるべき。 msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/multipledocumentinterface/multipledocumentinterfacereference/multipledocumentinterfacefunctions/defframeproc.asp
238 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:39:59 ] >>237 その4個だけでDefWindowProcに渡す必要があるのならこれが正解? { case ↓の4個以外のWM_ break; case WM_COMMAND: case WM_MENUCHAR: case WM_SETFOCUS: case WM_SIZE: default DefWindowProc break }
239 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:42:57 ] とりあえずC言語の勉強からがんばれ…
240 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:46:39 ] >>238 DefWindowProcじゃなくて、DefFrameProcの話しだろ
241 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:47:56 ] >>239 その前に日本語の勉強から頑張れと言うべき
242 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 10:52:37 ] ごめん寝起きでボケてたんで書き直したw DefFrameProcはDefWindowProcと異なり、WM_COMMAND,WM_MEMUCAHR, WM_SETFOCUS,WM_SIZEの4つのメッセージに関しては、ユーザーで行いさせ たい処理を記述した後に、DefFrameProcを呼ぶ必要がある ってことね { case WM_CREATE等 //WM_COMMAND,WM_MEMUCAHR,WM_SETFOCUS,WM_SIZE以外のメッセージ break;// breakしてDefFrameProcに処理を渡す必要なし case WM_COMMAND: case WM_MENUCHAR: case WM_SETFOCUS: case WM_SIZE: default: DefFrameProc(); break; }
243 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 11:15:30 ] 自分が処理しないメッセージだけを渡せばよい。 というのは 例えばWM_SIZEなら 「自分でサイズ変更の処理を書く」や「新しいサイズを調べて制限値に引っかかるならサイズ変更しない」というのが「自分で処理した」にあたる。 だから「フォームのどこかに新しいウィンドウサイズを表示する」といった処理は 「自分で処理した」内に入らないのでデフォルトプロシージャを呼び出す必要がある。 こんな風に理解していたんだが間違ってる?
244 名前:220 mailto:sage [2007/03/28(水) 12:26:34 ] どうもすみません、質問の仕方が悪かったです。 2台のPC間で、SOCKETを使い、 片方をサーバー、もう片方をクライアントにして通信しているのですが、 一方から一方にバイナリデータのファイル(拡張子が jpeg, exe 等)を送りたいのです。 テキストデータなら、send,recvで簡単に送受信できたのですが、 バイナリデータは同じ方法で転送できない事に気付きました。 ググってみたところ、MFCを使う方法しか探せなかったんです・・・。 もしかして、バイナリデータを送受信できるSocketAPIって、 提供されていないんでしょうか?? コンパイラはVC.NET 2003です。 エスパーの皆様、ヨロシクお願いいたします m(。−_−。)m
245 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 12:29:47 ] バイナリデータをsend/recvで送受信できないわけが無い。 MFCのソケット関連だって所詮winsockのラッパに過ぎない。
246 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 12:45:07 ] バイナリもsend/recvで送受信できるお
247 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 12:56:58 ] ファイルをテキストモードでオープンして送ってんじゃないの?
248 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 14:01:46 ] MDI子ウィンドウをステータスバーに重ねると、ステータスバーが消えてしまいます。 消えないようにするにはどうすればいいのですか? WM_PAINTになにかすればいいのはわかるのですが、うまくいきません・・・。 (消えたステータスバーはMDIフレームウィンドウのサイズを変えるとまた表示されます) (1)MDIフレームウィンドウ (2)MDI子ウィンドウ (3)ステータスバー +---------------------+ |(1). +---------+ | | |(2).. | | | +---------+ | +---------------------+ |(3). | +---------------------+ ↓ (2)を(3)に重ねてから、(2)を元の位置に移動するとこうなる +---------------------+ |(1). +---------+ | | |(2).. | | | +---------+ | +-----+ +----+ |(3).. | | | +-----+---------+-----+ ↑ステータスバー消える!!
249 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 14:55:58 ] ステータスバーの親を MDIフレーム から MDIフレームの親にすれば?
250 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 15:24:41 ] >>249 できました だめだ親とか子とか全然理解してないみたい・・・Orz=3
251 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 16:53:59 ] 親の心子知らず
252 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 18:18:41 ] 子の心親知らず アスペ親子乙
253 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 19:30:13 ] >>244 まさか strlen(buf) とかやってないよな?
254 名前:デフォルトの名無しさん [2007/03/28(水) 19:38:04 ] SetBkMode(hdc , TRANSPARENT)するとして、 透過度の濃度はどうやって設定するのでしょうか?
255 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 19:58:11 ] 無理 AlphaBlend
256 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 19:58:21 ] strlenしててもbase64とかでエンコしてればだいじょぶさー してないだろうけど
257 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 20:11:11 ] IEのお気に入り表示した時のように、お気に入りの画面とIE本体の画面と バー(?)のようなもので自由に画面分割を変えるのってどうやってるんですかね?
258 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 20:23:15 ] スプリットウィンドウでぐぐるといい感じになれるけど、 実装していくうちにやな感じに面倒くさくなってくると思う WTLとか使っちゃうのが楽なのかな
259 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:23:07 ] >>258 どうもです ぐぐってみたけど面倒だねこれ・・
260 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:42:17 ] MFCを使わずにDAOかADOでSQLServerかAccessとアクセスするサンプルどこかに落ちて無いでしょうか。 ぐぐってみたらMFCばっかでした。
261 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 00:40:27 ] ODBCじゃダメなわけ?
262 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 01:51:45 ] ぶっちゃけ、ADOならVBのサンプルみれば判らないとおかしい。 あとデータアクセスなら、ATL OLEDBという手もあるが
263 名前:260 mailto:sage [2007/03/29(木) 02:02:09 ] 解決しましたありがとうございました。
264 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 02:12:21 ] メニューの開くと終了の間にセパレータを入れたい場合、 リソースにはどのように書けばいいのでしょう? IDM_MAIN MENU { POPUP "ファイル(&F)" { MENUITEM "開く(&O)" , ID_OPEN ---ここにセパレータ入れたい--- MENUITEM "終了(&X)" , ID_EXIT } }
265 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 02:50:17 ] MENUITEM SEPARATOR つーか、それくらいぐぐれ
266 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 07:38:07 ] メッセージフックでWMメッセージを破棄する場合、CallNextHookExしなければいいんだっけ?
267 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 07:39:21 ] WM_NULL に置き換えればいい。
268 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 07:46:03 ] サンクス!
269 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 10:25:10 ] >>265 そんなこといわないで ありがd
270 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 10:28:12 ] リソースエディタで作って、ソース見るという手もある
271 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 10:33:08 ] >>270 最初XN Resource Editorでそうしようと思ったんですけど 出来たファイルがバイナリーで見れなかったよ
272 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 13:33:38 ] 名前無しパイプとメールスロットは、 どっちもWaitForSingleObjectで待機できないの? それとも実は待機できるとか? やっぱ、ポール牧んぐしなきゃ無理?
273 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 13:46:16 ] スレッドでポーリング
274 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 14:25:25 ] つか、スレッドなら待ちっぱなしでいいか
275 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 14:26:16 ] ・標準入力に対するReadFile()でブロックしている状態に他スレッドから 割り込んでブロックを解除する良い方法はありますか。 ・cookedモードで動作しているConsoleへの入力を、Unixのselect() のように待機する方法はありますか。 改行が入力され、プログラム側が読み込み可能になった時点で待機が 解除されることが望ましいです。
276 名前:272 mailto:sage [2007/03/29(木) 14:37:31 ] >>273−274 おー。その手があったんですね。 姉さん感動したわ。
277 名前:デフォルトの名無しさん [2007/03/29(木) 17:35:30 ] ATL使ってCOM DLL作っているんだが、 メソッド内でCreateDialog呼び出す際のhInstanceって何設定すればいいんだ? hwndないからGetWindowLongも呼べないし え?もしかしてすげー低次元な質問?
278 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 17:39:25 ] >>277 GetModuleHandle(NULL)
279 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 17:40:02 ] DllMain
280 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 17:44:30 ] CComModule::m_hInstだっけな?
281 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 17:50:36 ] ATLならGetResourceInstance?
282 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 17:52:10 ] >>275 ・たぶん無い。 ・それなら普通に読めばいいのでは? >>277 たぶんこれ。 support.microsoft.com/kb/309705/ja
283 名前:280 mailto:sage [2007/03/29(木) 17:53:54 ] >>282 これは知らなんだ。 さんくすこ
284 名前:デフォルトの名無しさん [2007/03/29(木) 18:49:13 ] >>278-282 thx!! 皆のアドバイスから紐解いていったら _Module.m_hInst に入ってた! まじありがとう
285 名前:284 mailto:sage [2007/03/29(木) 18:49:45 ] sage忘れスマソorz
286 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 19:57:59 ] DLLファイルとDEFファイルとHPPファイルがあって LIBファイル無しでコンパイルする方法教えてください
287 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 20:00:33 ] >>286 DEF があれば LIB を作ることは可能 gcc だと LIB 作らずに DLL をリンクに加えるだけでもコンパイルできる 他のコンパイラはどうだか知らない
288 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 20:08:38 ] GCCってmingwのことですか? dlltoolをつかったらエラーが出てlibが作れませんでした。 lib.exeでdefからlibは作くれても リンクで「〜は未解決です」の エラーが出来ませんでした
289 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 20:28:56 ] 開発環境がMSVCだとして話をするが。 dumpbin -EXPORTS foo.lib してみて、インポートライブラリのエクスポートシンボルを確認汁。 ヘッダとつきあわせて、名前がヘッダで宣言されている呼び出し規約と 適合しているかチェック汁。 cdeclなら_で始まっているのが正しいし、 stdcallならうしろに@ほにゃららがつく。 つうかC++か。名前マングルされてるとマンドいな。 DEFファイルは本当に正しいのか?
290 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 21:06:45 ] XXX.h #ifdef _EXPORT_LIB_ #define __PORT __declspec(dllexport) #else #define __PORT __declspec(dllimport) #endif #ifdef __cplusplus extern "C" { #endif __PORT WINAPI プロトタイプ定義 #ifdef __cplusplus } #endif
291 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 21:18:37 ] すみません↓をビルドするとエラーが出ます HINSTANCEの型は後ろから二番目の引数なのでキャストしたのですが消えません どこが間違ってるのでしょうか?? (コード) hChild1 = CreateWindowEx( WS_EX_CLIENTEDGE, clsChild1Window, (LPCWSTR)"", //タイトルバーにこの名前が表示されます WS_CHILD | WS_VISIBLE | WS_THICKFRAME, //ウィンドウの種類 -frame, // x座標 -frame, // y座標 x1, // 幅 y1, // 高さ hWnd, // 親ウィンドウのハンドル、親を作るときはNULL (HMENU)1, // メニューハンドル、クラスメニューを使うときはNULL (HINSTANCE)hInstance, // インスタンスハンドル NULL ); (エラー) error C2440: '=' : 'HWND' から 'HINSTANCE' に変換できません。
292 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 21:20:26 ] hChild1の宣言を確認してみればいい予感
293 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 21:20:29 ] 「hChild1の型がHINSTANCEだからだ死ねぼけ」 みたいなエラーに思えるがどうか?
294 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 21:22:45 ] とりあえずあれだ、何も考えずにキャスト乱用するの止めれ。
295 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 21:23:58 ] HWND型の方は確認してないだろ。CreateWindowExの戻り値の型はHWND
296 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 21:26:02 ] >>292 >>293 >>294 >>295 hChild1の型が間違ったました HINSTANCEからHWNDにしたらビルドできました すぐ吊ってきます
297 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 21:43:31 ] >>296 よーし吊って来いwwwwwwwww
298 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 21:58:12 ] みなさん、質問があります。 CreateMutex, CreateSemaphore, CreateEventとか、 引数に名前があるCreate〜関数がありますよね。 また、これと対のOpen〜関数もありますよね。 これらは以下のシナリオで利用されると思いますが・・・ ・ハンドルが定義されてない場合 @.Open〜関数→失敗(ハンドルがない) A.ハンドルがないのでCreate〜関数→成功 B.(゚Д゚)ウマー ・既にハンドルが定義されている場合 @.Open〜関数→成功(ハンドルがある) A.ハンドルを流用 B.(゚Д゚)ウマー しかし、ハンドルが定義されてない場合で @とAの間に別プロセスかスレッドで、 ハンドルが生成される可能性もあるんですよね? もし可能性があるなら、矛盾がないように生成シナリオを組むには どういう手法をとるべきでしょうか? それとも、考え違いなんでしょうかね?
299 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 22:20:58 ] 常に Create 使えば良し。
300 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 22:21:21 ] クレアテ
301 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 22:30:18 ] Create〜系は、既に同名のオブジェクトがあればそれを開くという動作をする。
302 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 23:20:18 ] >>299-301 へー知りませんでした。 調査してみます。
303 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 00:02:46 ] MSDN読んでればこんな疑問湧かないのに
304 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 00:24:47 ] MSDNがどんな専門書籍よりも早く正確に理解できるのに なんで読まないんだろうね
305 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 00:30:59 ] MSDNは重いし目次分かりにくくて調べにくいからキライとか言ってみる
306 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 00:48:31 ] 関数の詳細調べるにはいいけど、 「何をしたいときには、どの関数を使えばいいか」 っていうのは調べられない
307 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 01:25:03 ] まあ、リファレンスマニュアルだしな。
308 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 01:33:00 ] あと、リファレンスって結構サンプルコードがあってなんぼな面もあるのに MSDNはサンプルコードがろくになかったり、あっても酷いサンプルだったりする。 まぁ、昔に比べれば少しはよくなりつつあるようにも見受けられるが。
309 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 02:57:04 ] MSの解説って日本語でおkなとこが一杯あるしな。 関数リファレンスとかはまだマシだけど。
310 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 02:59:46 ] SDKの中にサンプルあるだろ?
311 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 03:04:31 ] >>310 お前、ちゃんと見たことないだろ。 メチャクチャだぞ、SDKのサンプルは。 あんまりにも酷いんで近年はあんまりみてないけど、ひょっとして最近はマシになってんのか?
312 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 07:20:34 ] そういえば最新版のWindowSDKからSampleがいくつか削除されてるな ATLとMFCを使ってた奴がが全滅っぽい
313 名前:298 mailto:sage [2007/03/30(金) 08:12:39 ] >>303 MSDN読んだ上の疑問だったのです。 用途としての理由というか裏づけがイマイチだったし、 家にある参考文献も役に立たなかったので・・・ また、関数の命名上、Create〜系とOpen〜系には ルールがあるんではと思い、ここに質問した次第です。
314 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 08:25:50 ] >戻り値 >関数が成功すると、ミューテックスオブジェクトのハンドルが返ります。 >この関数を呼び出す以前にそのミューテックスオブジェクトが存在していた場合は、 >この関数は既存のオブジェクトに対するハンドルに返し、GetLastError 関数は >ERROR_ALREADY_EXISTS を返します。 MSDNのCreateMutexより。本当にMSDNを読んでいたのであれば、 >>301 が初耳だなんてことはないのだが。
315 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 09:38:20 ] そろそろカチンときそうです。
316 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 09:44:39 ] メインスレッドから直接リストボックスにログ表示していますが、 ログが増えるとメイン処理の速度低下が著しいので、 ログ表示スレッドを分離しようかと思います。 ログ情報(テキスト)はパイプで渡そうかと考えているのですが、 他に良い方法ありませんか?
317 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 09:51:50 ] 分離ってどこに分離? syslogにのっとって作ると何かと便利
318 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:29:38 ] WM_SETREDRAW
319 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:38:06 ] スレッドって言ってるな・・・ 同じプロセスならパイプ使うまでもないと思うんだけど。 メモリ空間は同じだぜ?
320 名前:デフォルトの名無しさん [2007/03/30(金) 12:09:53 ] ChooseFont関数でフォント名とサイズを初期設定する方法を教えてください
321 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 12:16:39 ] LOGFONT構造体に値をセットして CF_INITTOLOGFONTSTRUCT フラグ入れればできないか? つか説明に書いてあると思うんだけど
322 名前:デフォルトの名無しさん [2007/03/30(金) 13:39:28 ] >>321 ありがとう。 確かにかいてあった・・・ >FlagsメンバにCF_INITTOLOGFONTSTRUCTを指定した場合は、この構造体で指定したフォントに最も近いフォントが選択されている状態でダイアログボックスが初期化されます。 これちょっと説明的にわかりずらかった・・
323 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 17:03:55 ] >>316 同一プロセス内のスレッド間通信なら、普通にポインタを渡すだけでいい。 (バッファの確保・更新・解放には同期処理が必要) ただし、リストボックスを作成したのがメインスレッドだと、リストボックスの管理は メインスレッドが行うので、リストボックスの動作そのものが問題になっていると 意味がない。この場合、ログ表示スレッドからSendMessage等をしても、それを実際に 実行するのはメインスレッドになる。 (ログ表示スレッドはメインスレッドがメッセージ処理を終えるまで待たされる) また、上手くスレッドを分けたところで、マルチプロセッサでなければ魔法のように 速くなるわけではないので、単純に処理が重いだけだとスレッドを分けても 全体の速度は変わらない。
324 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 17:08:28 ] 逆に、可能であれば速度低下を嫌うメイン処理こそワーカスレッドにするとよいのだけれど。
325 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 19:35:28 ] リストボックスをLVS_OWNERDRAWFIXED|LVS_NODATAで作成して オーナードローで描画、実データを持たさないようにすれば多少速くなるかな。
326 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:42:52 ] スレッドにしたところでリストボックスが著しく負荷高いってことには変わりがないと思うよ。 標準のコントロールは大量データを高速に処理できるようになっていないと思う。
327 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:19:35 ] 大量のデータを高速に処理するために標準機能として仮想リストがついているんだが。
328 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 05:01:29 ] 重くなるってリストに何件データ保持してるんだろ? 実際にそこまで過去のログを表示しておく必要があるか考えてみる …これは実装とは関係ないか
329 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 08:50:27 ] 3Dモデリングのライブラリってありますか? 街作ったり、車作ったりの
330 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 08:57:07 ] スレタイよく嫁
331 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 11:15:05 ] 自アプリのwebbrowserコントロール内でユーザが文字列を選択し、 コンテキストメニューから「コピー」を選んだとき、 クリップボードに書き込まれる前になんらかのイベントを 捕捉することはできますでしょうか? おねがいします。