- 1 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 16:30:27 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ! 過去スレ、関連リンクは>>2-10くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/)の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build73 pc11.2ch.net/test/read.cgi/tech/1227934931/
- 357 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:21:20 ]
- やれやれ・・・
冬休みになって小学生がやって来たみたいだね
- 358 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:29:40 ]
- >>357
マジでわからん 解説頼む とりあえず調べた感じだとユニコードって4バイトまであることがわかった だから>>356だと思ったんだけど違うの?
- 359 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:30:20 ]
- わからないなら4096とっとけよ
- 360 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:47:34 ]
- いやいや64KBくらいは確保しといたほうが安全だぞ
- 361 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:49:25 ]
- 実際1040以上くるから俺は2048を勧める
- 362 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:50:17 ]
- 全角のよくわからん文字を連打してためしたから間違いない
- 363 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:53:26 ]
- >>362
それ手打ちだろ?w msdn.microsoft.com/ja-jp/library/930f87yf(VS.80).aspx 32,768 文字でFA
- 364 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:54:53 ]
- >>363
バイト数ぅぅううううううううううううううううううううううううう!でいくら?
- 365 名前:デフォルトの名無しさん [2008/12/27(土) 03:13:49 ]
- >>364
MAX_PATHって文字だけでバイト数答えられるやつが居たらエスパー認定するね俺は。 自分で気が済むだけ確保しとけばいいじゃん?
- 366 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 03:14:47 ]
- 具体的にはFileDialogで流れ込んでくる文字列
- 367 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:39:56 ]
- Unicode 1文字4バイトってサロゲートペアのこと言ってるなら、
あれは2文字にカウントする。 だからUTF-16は1文字2バイト。 UTF-8は最大6バイトだったり4バイトだったり…
- 368 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:47:15 ]
- 結合文字もあるだろ
- 369 名前:デフォルトの名無しさん [2008/12/27(土) 12:35:18 ]
- ツリービューにドラッグドロップした際、カーソルの下にあるノードを取得するにはどうしたらいいんでしょうか?
- 370 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 14:01:20 ]
- >>368
知らないならレスしないでください。ウザイだけです。
- 371 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 14:50:22 ]
- >>369
とりあえずツリーコントロールのドラッグ&ドロップ当たりは参考にならないだろうか? www.alpha-net.ne.jp/users2/uk413/vc/VCT_TVdrag.html
- 372 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:08:08 ]
- >>371
それMFCのサンプルなんだが
- 373 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:11:45 ]
- >>372
いや、MFC知らなくても読めばHitTest関数使うんだなってなんとなく分かるだろ
- 374 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:35:19 ]
- >>372
ここまで応用が効かないヤツってどうやったら日本の教育で排出されるの?
- 375 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:41:35 ]
- 日本ノ教育関係ナイ
- 376 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:41:59 ]
- >>374
?オレ別に質問した人間でもないし興味もないが、せっかく挙げるのならもうちょっと適切なサンプル上げてやったらどうかと思ってな
- 377 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:45:42 ]
- またゆとり世代プログラマのご乱心か。
- 378 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:09:05 ]
- >>376
適切なサンプルがあったらそうするだろ常考・・・
- 379 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:11:27 ]
- もうだめだこのスレ
- 380 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:16:28 ]
- レスしないで下さい。ウザイだけです。
- 381 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:21:40 ]
- img.2ch.net/ico/o_anime_basiin.gif
【依頼75】 パンツにWiiリモコンを装着し女性でも立ちションの気分を味わえる「スパー・ピーピー・ブラーザー」 2008年12月27日 09時00分00秒 gigazine.net/index.php?/news/comments/20081227_super_pii_pii_brothers/ さまざまな変わった商品を取り扱っているThink Geekというサイトで、 女性でも立ちションのきぶんを味わえるWii専用ソフトが販売されているようです。 パンツにWiiリモコンが付いており、そのパンツをはいてプレイするという 非常に斬新なゲームになっているようです。 プレイムービーを見るとかなりシュールで笑ってしまいます。 では、どのようなソフトなのか見てみましょう これが「スパー・ピーピー・ブラーザー」。本体価格は約35ドル(約3200円)。 gigazine.jp/img/2008/12/27/super_pii_pii_brothers/super-pii-pii-brothers-nintendo-wii-2.jpg ゲーム中の画像 gigazine.jp/img/2008/12/27/super_pii_pii_brothers/Snap2.jpg gigazine.jp/img/2008/12/27/super_pii_pii_brothers/Snap6.jpg gigazine.jp/img/2008/12/27/super_pii_pii_brothers/super-pii-pii-brothers-nintendo-wii-1_m.jpg プレイ動画 jp.youtube.com/watch?v=yQNKRDFanQE
- 382 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:29:19 ]
- >>378
↓こっちのがいいんじゃないの? support.microsoft.com/kb/214814/ja てか、"ツリー""ドラッグ"でググってトップに出てくるページを挙げても意味ない気がするんだが
- 383 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 22:58:29 ]
- GetTimeZoneInformationでサマータイムの開始時刻は取得できるのですが、終了時刻もしくはサマータイムである時間
を取得するにはどうすれば良いですか?日付でなく時刻が知りたいのですが・・・。 それともサマータイムって一日のうち何時間てのが決まってるんでしょうか?
- 384 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:20:48 ]
- はぁ?
- 385 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:26:18 ]
- 俺が知ってるサマータイムじゃない
- 386 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:27:01 ]
- >>383
特定の日に1時間戻して特定の日に1時間進めて終わりとちがうんか? つまり年2回時間をいじると
- 387 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:48:53 ]
- な、なんだってーーーーーーーーーーーーーー
ありがとうございました。ちなみに 10月3日2:00に始まって、3月3日2:00に終るとしたら、 開始時刻 <= サマータイム < 終了時刻 でいいんでしょうか?
- 388 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:50:25 ]
- 意味gワカリマセン
- 389 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:51:58 ]
- >>387
うっせーな調べろよ www.geocities.co.jp/SilkRoad/1702/travel/western/sumtime.htm
- 390 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 00:08:06 ]
- >>389ツンデレ乙
- 391 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 00:10:41 ]
- サマータイムを理解してないのに何をするつもりなんだろ
- 392 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 00:22:20 ]
- 仕事での客からの依頼、じゃない?
- 393 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 00:38:30 ]
- 時刻まわりはたしかに複雑だからわからんでもないけどな
新人で簡単だと思って取り組んではじめにやられる課題だろ>時刻 サマータイム時刻の12時と通常時刻の12時とで 重複カウントされて死ぬシステムに幸アレ!
- 394 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 01:00:17 ]
- 仕事なら先輩か上司に訊けよ
- 395 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 01:57:20 ]
- 仕事じゃないけど。
- 396 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 02:43:51 ]
- 仕事じゃないなら自分で調べろハゲ
- 397 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 03:16:55 ]
- それにしたってサマータイムが1日ごとに設定しなおすものだという
思い込みの状態でプログラム組むとかこいつ馬鹿じゃねーのw
- 398 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 03:55:13 ]
- ま、仕事ならこんな常識外れの人は真っ先にリストラでしょ
- 399 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 08:11:24 ]
- うるう秒がきます。
- 400 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 08:46:23 ]
- きますね。
- 401 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 08:57:20 ]
- こいやぁー
- 402 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 09:59:19 ]
- うるう秒の間、息を止めてないと流星ガスで死ぬらしいよ
- 403 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 10:23:17 ]
- タイヤのチューブに空気入れておこう
- 404 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 10:49:48 ]
- 流星ガスでタイヤのゴムが爆発するらしいよ
- 405 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 11:53:21 ]
- バスガス爆発
- 406 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 12:17:44 ]
- バスガスバスハツ
噛んだ
- 407 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 15:14:09 ]
- getPixelが遅いんですけどどうしたらいいですか
- 408 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 15:22:53 ]
- イメージを自分の確保したメモリ内で管理する
- 409 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 15:52:36 ]
- GetPixel/SetPixelは、色がどういうマッピングされるかの確認用とでも思っておいた方が良い。
実際の描画にはほぼ役に立たない。
- 410 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 16:22:55 ]
- メインのプログラムを走らす前に扱いたい画像データの全ピクセルについてgetPixelで得られる値を予め配列に格納しておいて、
メインのプログラムを走らせた時にはその配列データのみを参照するようにすればいいわけね。一つ別にプログラム書かないといけないな。
- 411 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 16:29:05 ]
- 別のプログラムにする必要はないだろ・・・
- 412 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 16:35:24 ]
- CreateDIBSection
- 413 名前:デフォルトの名無しさん [2008/12/29(月) 00:31:24 ]
- 質問させていただきます.
WM_CREATE が送られてきたときに、非常に時間のかかる処理(10秒~15秒くらい)をさせるのはやめたほうがいいでしょうか?
- 414 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 00:40:18 ]
- なんで止めた方が良いと思ったん?
- 415 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 01:06:53 ]
- 別スレッドでやればいいやん
- 416 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 01:45:01 ]
- >>413
WM_CREATEに限らず、非常に時間のかかる処理はメインスレッドで やらない方がいい。 メッセージに即座に応答できない状態だとOSから応答無しと判断されるし、 メッセージをブロードキャストするアプリケーションの動作にも影響する。
- 417 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 02:47:42 ]
- ウィンドウプロシージャは0.1秒以内に処理を終えなければいけないみたいな決まりがあるはず
- 418 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 04:37:05 ]
- >>417
詳細orサイトplz それは意識してなかったorz
- 419 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 05:55:45 ]
- GetMenu()のようにポップアップメニューを取得できないでしょうか?
リストアイテムを選択中に右クリックした場合に出るコンテキストメニュー (ポップアップメニュー)のハンドルやその要素一覧を取得したいのです。
- 420 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 06:01:53 ]
- > リストアイテムを選択中に右クリックした場合に出るコンテキストメニュー
出ねーよ
- 421 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 10:47:20 ]
- >>420
申し訳ありません、アイテムがメニューをもつわけではないですね。 その選択したアイテムを操作するようなメニュー(アイテムのコンテナが もつメニュー)のことです。
- 422 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 10:56:04 ]
- ポップアップメニューって自分で表示しなきゃ出ないじゃん
少なくともAPIの範囲では 自分で明示的に表示してるものなのにハンドルが分からないって事は無いだろう
- 423 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 10:59:15 ]
- >>421
余計な言葉をつけずに 「メニューハンドルからメニューアイテム一覧を取得したい」 と言え。詳しく言ってるつもりが余計に分かりにくくなっている。 GetMenuItemCount/GetMenuItemInfo
- 424 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:34:41 ]
- >>423
いや欲しいのはメニューハンドルだろ? 「外部アプリのメニューを取得して何かしたい」んじゃねーの? 「外部からコンテキストメニューのメニューハンドルを取得する一般的な方法はない」がアンサーじゃね?
- 425 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:56:17 ]
- デスクトップの描画について質問があります。
以下のようにデスクトップのDCを取得して、描画するプログラムは作れるんですが、 描画した内容を消す方法がわかりません。 黒や白で塗りつぶすわけにはいかないし、どうしたらいいんでしょう。 終了ボタンを押したときでしか、描画が消えません。 // デバイスコンテキスト HDC hdc = GetDC(NULL); // 描画 Rectangle(hdc, 100, 100, 200, 200); // 解放 ReleaseDC(NULL, hdc);
- 426 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 13:06:02 ]
- 元の色保存しといて塗り直せ
- 427 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 13:14:43 ]
- >>425
InvalidateRectで再描画してもらう
- 428 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 13:17:20 ]
- InvalidateRect(0,0,false)
- 429 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 14:54:47 ]
- PaintDesktop
- 430 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 02:22:02 ]
- SW_HIDEを送って非表示になったウィンドウのウィンドウハンドルはどのように取得すればよいでしょうか?
そのウィンドウを持つプロセスIDはわかるのですが…
- 431 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 02:24:56 ]
- ずっと覚えとく
- 432 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 02:25:57 ]
- EnumWindows、GetWindowThreadProcessIdを組み合す
- 433 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 03:29:16 ]
- SW_HIDE を送るときに使う HWND は取得できるのに?
- 434 名前:430 mailto:sage [2008/12/30(火) 03:54:53 ]
- >>431,433
SW_HIDEは自身が送るものではない環境ですので… ご回答ありがとうございます。 >>432 プロセスIDを取得する際にEnumWindowsを使っておりましたので 改めて考えるとすでに取得できていたのですね。助かりました。
- 435 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 13:42:38 ]
- 今までFindFirstFileで全てのファイルを列挙するとき
"*.*"とやってたんですが、よく考えると"*.*"でディレクトリ や拡張子のないファイルが引っかかるのはおかしい 気がするんですが、なぜでしょうか?
- 436 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:14:03 ]
- IsDBCSLeadByteExを使用して2byte文字の
先頭1byte目かという判定をしていたんですが、 0x82 0xF0(ひらがなの「を」)の2byte文字の 0xF0を指定して上記のAPIで判定をしたところ FALSE以外。つまり2byte文字の先頭1byteという 判定が戻り値として戻ってきました。 これはIsDBCSLeadByteExのバグなのでしょうか? または私の使い方が間違っているのでしょうか。 /* 2byte文字の1byte目かを判定 */ if(IsDBCSLeadByteEx(CP_ACP, 指定文字値) != FALSE) { }
- 437 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:16:14 ]
- case WM_KEYDOWN:
if(wp == VK_ESCAPE) 終了処理; というようにエスケープキーを押したら終了するようにしたのですが、 EDITにフォーカスがあっているとEscを押しても終了してくれません 解決策があれば教えてください
- 438 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:23:54 ]
- >>436
2byte文字の2byte目にはいろんな値が来るので 0x82を判定したあと1文字飛ばしましょう(0xF0は判定しない)
- 439 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:25:12 ]
- >>436
使い方が間違っている。 IsDBCSLeadByteExはマルチバイト文字の1バイト目の範囲内にあるかどうかという判定しかしない。 1バイト目にも2バイト目にもくる可能性のあるコードならそうなる。 文字列渡してないんだから厳密な判定ができないのはわかるべ?
- 440 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:27:09 ]
- >>435
パターンが「.*」で終わる場合はその部分は無視される。だから「*.*」は「*」と同じ。 ttp://blogs.msdn.com/oldnewthing/archive/2007/12/17/6785519.aspx >>436 0xF0は1byte目にも2byte目にもなりうるからだろ。 先頭から順に調べていかなくちゃ、本当の1byte目かどうかはわからない。 0x82がLeadByteと判明した時点で次の0xF0は読み飛ばさなきゃだめ。 >>437 WM_COMMANDでIDCANCELとか来ないの?
- 441 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:34:30 ]
- >437
WM_GETDLGCODE
- 442 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:36:17 ]
- コンソールでdir *.*とかすらやったことないのか・・
- 443 名前:435 mailto:sage [2008/12/30(火) 14:37:43 ]
- >>440
ありがとう、疑問が解決しました 今度から"*"にします。
- 444 名前:435 mailto:sage [2008/12/30(火) 14:43:54 ]
- >>442
むしろPC98時代からPC使ってたから 今まで疑問にも思わなかった
- 445 名前:436 mailto:sage [2008/12/30(火) 14:44:06 ]
- >>438-439
回答ありがとうございます。 私が本当にやりたい事はファイルからデータを読み込んで エディットボックスに反映(処理ログみたいな)させていくというものなのですが、 一度に最大1023byteしか読み込ませないように(wsprintfの関係)制御しています。 しかし、この場合バイナリでReadしている為、文字化けが発生する可能性があり それを回避する為、最大(1023byte)で読み込んだ場合、末尾のデータが 全角文字(2byte)の先頭1byte目かを判定して真の場合、読み込みポインタを -1byteずらしているというやり方で回避させていたつもりなのですが、 >>436の記載したAPIの使い方を私が勘違いしていた為うまくいきませんでした。 ベタ書きでの判定となると if((チェック値 >= 0x81 && チェック値 <= 0x9F) || (チェック値 >= 0xE0 && チェック値 <= 0xEF)) という感じになると思うのですが、こういう判定をしてくれるAPIは 提供されていないのでしょうか?
- 446 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:47:37 ]
- >>445
先頭から調べるか、調べたい場所から1バイトずつさかのぼって 1バイト目じゃない文字の部分から順に判定すればいい。
- 447 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:09:14 ]
- あるウィンドウプロシージャでコントロールのメッセージはWM_COMMANDとして送られてきますが、
コントロール自身のウィンドウプロシージャではどういう形でメッセージが飛んでくるんでしょうか? たとえばリストボックスからのLBN_SETFOCUSはMSG = WM_COMMAND,WPARAM = (4 << 16) | 100ですが、 コントロール自身ではどう受け取ればいいのかが分かりません。もしかして頓珍漢なこと言ってますか?
- 448 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:12:48 ]
- コントロール自身がWM_SETFOCUSを受け取って、親に自分でLBN_SETFOCUSを投げてるんじゃないのか?
- 449 名前:437 mailto:sage [2008/12/30(火) 15:14:21 ]
- >>440
>>441 回答ありがとうございます case WM_GETDLGCODE: return DLGC_WANTALLKEYS; case WM_KEYDOWN: if(wp == VK_ESCAPE) 終了処理; このような感じにしたのですが終わってくれません 何か間違いがあれば、ご指摘お願いします
- 450 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:26:21 ]
- >>448メルシー。じゃあ、LBN_SELCHANGEとかってのはコントロールの単純なサブクラス化じゃうまく捕らえられないのかな・・・
- 451 名前:436 mailto:sage [2008/12/30(火) 15:30:43 ]
- >>446
やはりそれしかないですよね。 ありがとうございました。
- 452 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:32:02 ]
- >>450
LBN_***はコントロールのプロシージャがユーザーの操作に応じて親ウィンドウに投げてる奴だから サブクラス化しようが何しようが捕まえられんよ そもそもそうしないためにWM_COMMANDがある
- 453 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:37:45 ]
- MFCだとメッセージリフレクションで実装されている処理の話だな。
結局の所、親に投げられたメッセージを引っ張り出す必要があるので、 残念ながら、コントロール側だけで完結するようには書けないな。
- 454 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:44:27 ]
- >>453
今ライブラリを作ってて、イベントハンドラ関連の整備してたんですが、そこで詰まりまして・・・ でも、WM_COMMANDのLPARAMってどうやら、コントロールのハンドルらしいですね。 ハンドルからクラスを引っ張ってくる仕組みは既にあるので、何とかなりそうです。 たしか、WM_COMMANDってアクセラレータとコントロールとメニューのメッセージが飛んでくるんですよね。 何とか頑張って実装してみます。ありがとうございました。
- 455 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:51:05 ]
- >>449
case WM_COMMAND: if ( LOWORD( wParam) == IDCANCEL) 終了処理;
- 456 名前:437 mailto:sage [2008/12/30(火) 16:23:19 ]
- >>455
ありがとうございます ですが、その通りにやっても動きませんでした Escキーをおすとポーンと警告音みたいな音がするだけの状態です
- 457 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 16:27:06 ]
- >>445
そういう風にべた書きしても、436のように使えば全く同じ問題が起こる。 CP932でのIsDBCSLeadByteExだって同じことをやっているよ。
|

|