[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/31 01:22 / Filesize : 264 KB / Number-of Response : 1016
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build123



1 名前:デフォルトの名無しさん mailto:sageteoff [2016/10/08(土) 12:33:02.29 ID:0jaJMPXG.net]
Win32APIについての質問はこちらへどうぞ。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

■過去スレ
Win32API質問箱 Build122
echo.2ch.net/test/read.cgi/tech/1451988219/

471 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 12:54:33.61 ID:rPK+nkkO.net]
用意されてたbmpでは動く。自作bmpでは動かない。ってことかよ。だとしたら原因ひとつじゃん

472 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 13:11:54.57 ID:h6gBY/+f.net]
>>463
imgurにでも自分で作ったbmp上げてみてよ

473 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 13:37:27.01 ID:7YWEdixI.net]
imgurって内容変わるんじゃね

474 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 13:42:29.19 ID:h6gBY/+f.net]
マジかごめん

475 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 16:58:13.14 ID:0QbqsbzH.net]
>>463
たぶん表示されてるんだと思う
WM_CREATE内の//debugの下の行を
BitBlt(hMemDC, 0, 0, 24, 24, hBlockDC, 0, 24, SRCCOPY);
にするとどうなる?

476 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 18:59:14.47 ID:Jw8FgjFy.net]
ちょっと見てみたよ
bmpのIDだけど、BLOCKS と "BLOCKS" は別だからね
BLOCKSは数値に置き換えられてるけどLoadBitmapは文字列の"BLOCKS"で読もうとしてる
初心者の頃はやりがちなやつだな

477 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 20:15:49.77 ID:5s+i++Yx.net]
>>469
ありがとうございます、これで表示されました
でもdqn.sakusakutto.jp/2012/11/cpp_tetris.htmlこの動画とは別の画像が表示されます
動画上では灰色ブロックが出てきているのに、自分の環境では赤色のブロックが出てきている状況です

>>470
動画では「"BLOCKS"」と定義されていたので自分は「TEXT("BLOCKS")」と定義したんですが両者は違うものなのでしょうか?

478 名前:デフォルトの名無しさん [2017/03/15(水) 20:16:40.91 ID:LU+w+iAT.net]
rcの方だろ

479 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 21:50:38.03 ID:5BC7GJpQ.net]
USBメモリなどUSB機器の接続検知をおこないたいのですが、WM_DEVICECHANGEを使用すると
https://qanda.rakuten.ne.jp/qa5211631.html
のようにUSBメモリによってはDBT_DEVICEARRIVALが何度か来てしまいます。
↑のQ&Aにあるように、正常に認識されたときを検出するにはどうすればよいでしょうか?



480 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 23:07:40.31 ID:5s+i++Yx.net]
>>472
rcのほうが間違えているということですか?
では「"BLOCKS" BITMAP "block.bmp"」ってことですか?

481 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 09:34:05.83 ID:fy4K8iiJ.net]
こうやって手取り足取りな奴はイライラする

482 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 11:58:27.68 ID:bBZQNLcb.net]
>>475
じゃあ来なければいいよ

483 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 15:14:09.34 ID:Oq2mLnGK.net]
お前が手足を完全にもいでトドメを刺せばいい

484 名前:デフォルトの名無しさん [2017/03/16(木) 17:17:19.21 ID:Xe646fvV.net]
モイっ!

485 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 22:29:13.60 ID:xw1bzJ/c.net]
>>473
((PDEV_BROADCAST_HDR)lParam)->dbch_devicetype が全部同じなの?

486 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 01:08:24.24 ID:bawtCMkE.net]
SHAppBarMessage(ABM_QUERYPOS, &abd);が正しい値を取得できない場合どうすればいいですか?

Windows10の設定:システム:ディスプレイ:ディプレイカスタマイズ画面
テキスト、アプリ、その他の項目サイズを変更する
で100%から175%までいろいろ変化させてみると表示位置のずれが発生します。

487 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 04:28:36.19 ID:yhAiVzME.net]
>>473
デバイスイベントが来たら、タイマーで少し時間が経ってからデバイスをチェックする。
時間が経つ前に次のデバイスイベントが来たら、タイマーをセットしなおしてまた少し時間が経つまで待つ。

488 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 10:38:14.59 ID:px9bK4BM.net]
タスクトレイの自動的に隠すになっているかを調べる場合どうすればよいですか?

489 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 11:02:11.90 ID:OlmnVrTw.net]
レジストリでも見ればわかるんじゃない?



490 名前:482 mailto:sage [2017/03/20(月) 11:03:48.79 ID:px9bK4BM.net]
自己解決・・
APPBARDATA appbardata;
appbardata.cbSize = sizeof(APPBARDATA);
appbardata.hWnd = FindWindow(L"Shell_TrayWnd", 0);
if(SHAppBarMessage(ABM_GETSTATE, &appbardata))
{
// 自動的に隠れている
}

491 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 23:28:19.28 ID:pgDQQg6b.net]
最近、win32 はいつまで残るんだろうな、とふと不安になる
.net とか妙なものが蔓延ってるけど。

492 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 00:19:55.43 ID:3zup+qvo.net]
MS32bitOSが居る限りはなくならないだろ
.netだって内部的にWin32API呼び出しているし

493 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 02:42:20.25 ID:dRq3wtLU.net]
ここまで来て過去の莫大な資産を捨てることなんてあるの?
過去のwindowsアプリが新しいwindowsで動かなくなる日が来たら、それはもうwindowsじゃないと思う

494 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 03:05:14.83 ID:RH/+/4vn.net]
.NetですらFormsもWPFも放置でUWPに移行させようとしてるし、本音では過去のを全て捨ててUWPに一本化したいんだろう。
現実的には自らの強み(過去の資産)を手放すことになるから、やりたくてもやれないのだろうけど。

495 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 03:48:34.60 ID:5huRZA1V.net]
> FormsもWPFも放置でUWPに移行

MSって過去にも色々出しては無かったことにしてきたよな・・・
UWPすらどうなることか

496 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 04:41:12.33 ID:ScjZQ1Ox.net]
新しいものを出してきても、古いOSに対応させないから状況的に使えなくて、
使ってもいいかなと思える状況になった頃には古い技術になっているという悪循環

497 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 14:27:42.86 ID:6WWBsw/3.net]
>>485
windowsが無くなるまでは残るだろうと思ってたが

windowsが無くなりそうだしな

498 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 14:35:53.84 ID:3zup+qvo.net]
Win32APIは過去の莫大な資産であり、過去の莫大な負債でもある

499 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 17:25:00.36 ID:ghEa3fZg.net]
WindowsRuntimeを使わないといけなくなって
c++でコーディングし始めたけどかなり面倒くさい。
c++/cx使えっていうことだろうけど。
windows runtimeがwin32apiの代わりになるのかな?



500 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 23:26:33.91 ID:y88e15JH.net]
しっかし、なんで win32 はあんなに作るのが面倒くさいんだろうな・・・
1〜10まで教える感じではなく、1、10、100、1000まで教えてやっと動く感じ。
その分痒い所に手が届くが。。。
だんだん倦厭されているということは、今の納期!納期!の文化とは合わないんだろうな。

501 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 00:22:36.94 ID:153gnM05.net]
>>493
CX糞

https://github.com/Microsoft/cppwinrt
↑正解

502 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 00:24:51.70 ID:Qoic3+WX.net]
工程の短縮というのもあるけど
「どのアプリケーションでも同じことをしたければ同じ操作をすればいい」と言うのを求めると
同じ操作(同じ動作)をひとつの部品として提供するほうが良い
そういう開発者独自の機能より、一般化された機能や操作性が重要視されるようになったのも一因だと思う

503 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 00:30:45.76 ID:oXk4FtJ8.net]
>>495
これってまだいろいろ未完成じゃないん?
sdkにも含まれてないし扱いが不鮮明なんだよな。

504 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 00:48:25.76 ID:KP40M7fU.net]
https://msdn.microsoft.com/en-us/magazine/mt745094
https://msdn.microsoft.com/en-us/magazine/mt745090

C++/CXを置き換えてくのか平行してくのか知らんけど言語プロジェクションを
純C++のヘッダのみで提供するコンセプトなのかしら
ただ肝心の.winmdからヘッダを生成するコンパイラが(まだ)未提供だから
Win2Dみたいな標準に含まれてないランタイムコンポーネントは使えん感じ

ちょっと試してみた感じ/ZWも不要で既存のC++ライブラリとマージしやすそうだし
VS2017+CUの時点で使い物になってて欲しいなあ

505 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 12:03:55.36 ID:39On3zda.net]
>>494
APIの粒度の問題を言われてもな

506 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 20:22:15.45 ID:NUnQTAC3.net]
でも結局どの言語でもAPIインポートするんだよな
意味ないな

507 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 14:21:34.35 ID:bO2o38VX.net]
>>494
>痒い所に手が届く

これ重要

508 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 15:20:48.57 ID:6+wpTDFL.net]
代わりに痒くもないところが腫れあがる

509 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 08:29:30.36 ID:S+/FPMiq.net]
そりゃ掻いてる場所が違うんだ



510 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 08:31:23.68 ID:CkZovUeE.net]
痒いところをかくといけないのでかけないようになってます

511 名前:デフォルトの名無しさん mailto:sage [2017/03/29(水) 15:32:52.21 ID:Si2XZHCG.net]
ショートカットの.lnkとかあと特殊なフォルダとかに出る
アイコン右下のやつってなんて名前なんでしょうか?

512 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2017/03/29(水) 15:39:16.42 ID:uG+6tdKu.net]
overlay icons

513 名前:デフォルトの名無しさん mailto:sage [2017/03/29(水) 15:40:33.19 ID:F9h34aTY.net]
IDがqz
https://www.youtube.com/watch?v=9zzRg-rBpOQ
https://twitter.com/NomuraShuya/status/846159908542169088

514 名前:デフォルトの名無しさん mailto:sage [2017/03/29(水) 15:41:59.56 ID:3SDK0DLs.net]
右下ってシールドか?
キャプチャぐらい貼れよ無能

515 名前:デフォルトの名無しさん mailto:sage [2017/03/29(水) 15:43:11.84 ID:F9h34aTY.net]
これやろ

矢印

516 名前:デフォルトの名無しさん mailto:sage [2017/03/29(水) 16:02:42.50 ID:3SDK0DLs.net]
矢印は左下だろ
アイコンオーバーレイって名称のことかな。ま、どうでもいいや

517 名前:デフォルトの名無しさん [2017/04/01(土) 18:40:58.67 ID:m+AYjiBS.net]
Win32APIサポート終了のお知らせ

518 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2017/04/01(土) 18:56:32.68 ID:Q4azjyiD.net]
>>511
ソース希望

519 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 19:30:55.19 ID:WcYopVS3.net]
>>512
今日の日付



520 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 01:29:34.83 ID:BKde4+E+.net]
嘘をついていいのは午前中なんだが。

521 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 02:36:19.44 ID:EQsFkd4r.net]
それもウソだよ

522 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 20:45:49.66 ID:fIAaSCsY.net]
ウソだってのがウソなんだよ

523 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 20:47:03.89 ID:DvppQH2R.net]
4/1だけにしとけよ

524 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 21:39:52.92 ID:gWDrFV4S.net]
昭和64年は短命
64も短命?
128移行か

525 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 23:53:31.94 ID:qQvnlfYK.net]
コンピュータの進歩がかなり鈍化してきているし
物理的な限界に直面しつつあるから
128bitは俺の生きている間に来るかどうか
今の段階では個人用途でそれだけのメモリ空間が必要になる使い道が思い浮かばん
それはPCの性能がまだそこに全然達していないから全く思い浮かばんってことなんだけど
そこへ至るまでに何段階もの紆余曲折あるだろうから今の段階で考えるだけ無駄だけどね
世の中も全然変わってるだろうし
それはともかく256テラバイト以上のメモリともなると
それを処理するCPUも相当速くないと意味ないからね
今の状態ですらどちらかというとメモリは余り気味でCPUがボトルネックになってる感じだし
メモリは余ってるけど、データ積んだところでCPUが現実的な時間で処理しきれないっていう
まぁ1万コアぐらいないと256テラバイト以上のメモリは生かしきれないんじゃないかな
その場合メモリ帯域は足りるのかとか考えると、コアごとにキャッシュを山のように積むか
コヒーレンシとか考えるともはやそれも難しく
PS3のCellみたいなプログラミングを強いられるかもしれないな
生きてないと思うけど

526 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 00:09:36.07 ID:3+iIkQVP.net]
そういうことを考えると128bitはあまり現実味がないというか
ムーアの法則通りに半導体の性能が上がり続けたとしても
あくまで実時間に対して2倍2倍に増えていくってオーダーだけども
bit数の増え方はもっと激しくて、1bit増えるたびに2倍の空間になるのに
そのbit数自体が2倍2倍に増えて行く

527 名前:わけだから、オーダーが全然違う
8bit→16bit、16bit→32bit、32bit→64bitのように順調にはいかない
どんどん間が長くなっていく
128bitは遠い遠い未来か、もしくは訪れないってことになる
[]
[ここ壊れてます]

528 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 00:18:54.12 ID:u5Wjlvjc.net]
>>519
そのころはAIがプログラム書くようになるから心配無いよ

529 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 01:30:54.91 ID:BzumqOQh.net]
>>520
>8bit→16bit、16bit→32bit、32bit→64bitのように順調にはいかない

それはマイクロプロセッサしか見てないだろ。
メインフレームの世界だと、トランジスタ機になったときには
32bitや36bitがすでにできていたから、そこから全く進化してない
ともいえる。



530 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 05:56:42.50 ID:/PIYb7TP.net]
>>519
VLIWは?

531 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 08:06:05.98 ID:Tyt+m4C4.net]
>PS3のCellみたいなプログラミングを強いられるかもしれないな

中国のスパコン1位がそんなアーキティクチャで2位以下にトリプルスコアの圧勝だったな。
この先、性能を追求したらそうならざるを得ないかも。

532 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 08:19:35.41 ID:1dU9a0gl.net]
そんな下の層の違いは上には影響しないから俺には関係ないな

533 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 09:42:55.60 ID:mPQmMovw.net]
ボトルネックといえばフロントサイドバスとストレージ

534 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 22:01:11.94 ID:73kME/Mz.net]
128ビットも必要なプログラムは人間には書けない

535 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 22:14:00.40 ID:eHZToKh6.net]
書くのは簡単

536 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 22:23:58.48 ID:u5Wjlvjc.net]
一桁二桁の加減乗除なら良いが、128ビットフルに使う計算だと、紙の幅越えないかなw

537 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 22:31:01.19 ID:2+tk3Olf.net]
SSE2使ってるとどうやって128bit使おうかばかり考える

538 名前:デフォルトの名無しさん [2017/04/05(水) 01:26:41.60 ID:XXr1MGA7.net]
っつーかナニを128ビットにするわけよ?

539 名前:デフォルトの名無しさん mailto:sage [2017/04/05(水) 02:45:28.37 ID:qYLi57Sr.net]
俺のナニは8bitだしorz



540 名前:デフォルトの名無しさん mailto:sage [2017/04/05(水) 08:06:40.12 ID:Bh5NPBNH.net]
なに見栄張ってるんだよ
お前のは a bit (=ちょっと) だろ

541 名前:デフォルトの名無しさん mailto:sage [2017/04/05(水) 08:54:18.24 ID:BdqpqknF.net]
just bit(1ビットだけ)だろ?

542 名前:デフォルトの名無しさん mailto:sage [2017/04/05(水) 09:46:20.77 ID:v8qJ9EUo.net]
>>531
そりゃcharを16個詰め込んだりするだろ

543 名前:デフォルトの名無しさん [2017/04/05(水) 14:24:34.32 ID:+eJqUohN.net]
ここまで漏れの自演

544 名前:デフォルトの名無しさん mailto:sage [2017/04/06(木) 17:46:17.73 ID:Wug7VRpa.net]
質問お願いします。
QueryPerformanceFrequency
で得た値は実行ごとに変わったりするから毎回計測しないと駄目ですか?

545 名前:デフォルトの名無しさん mailto:sage [2017/04/06(木) 18:05:42.24 ID:lEpGhGGY.net]
どんな理由から毎回計測しないようにしたいんだ?それによる

546 名前:デフォルトの名無しさん mailto:sage [2017/04/06(木) 18:18:16.44 ID:Wug7VRpa.net]
QueryPerformanceFrequencyの値がプログラムを終了するまで一定なら
1回しかこれを実行したくないし変わるなら一回時間を計測するごとにこれを実行したいです

547 名前:デフォルトの名無しさん mailto:sage [2017/04/06(木) 18:30:27.17 ID:lEpGhGGY.net]
それなら一度だけでよかったはず

548 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 17:01:14.12 ID:3o5iBWIM.net]
システム起動中に変わることはないってさ

549 名前:デフォルトの名無しさん mailto:sage [2017/04/07(金) 22:21:01.99 ID:9JlGmFFU.net]
ハイバーネーションみたいなのとかVMとか組み合わさるとどうなるかわかんないけどそういうことになってるね



550 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 09:03:07.92 ID:ptqONvxu.net]
俺は使うたびに毎回読んでるわ
あえてそうしない意味もないから

551 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 17:48:41.54 ID:C7AQR+Mi.net]
すみません、教えてください。

Borland BCC でC/Cppを勉強しているのですが、
CreateWindow( "EDIT", "あああああ", ....
にすると、あああああ の部分が文字化けして ,,,, と表示されてしまいます。
CreateWindow( "STATIC", "あああああ", ...
だと問題なく表示されます。

どうか教えてください、宜しくお願いします。

552 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 22:40:07.71 ID:42pK0vcr.net]
>>544
BCCはよくわかんけど、パラメーターが変とかじゃね?あと考えられるのはUNICODEとか?
このコードは RAD Studio10.1 BerlinとVS2015/2017で動くことは確認済み
HINSTANCE hInst;HWND hEdit,hStatic;
HWND hWnd= Handle; // BCBとか用
hInst=GetModuleHandle(0);
hEdit = CreateWindow(TEXT("EDIT") , TEXT("あああ") ,WS_CHILD | WS_VISIBLE | ES_LEFT,0 , 0 , 400 , 20 , hWnd , 0 ,hInst , NULL);
hStatic = CreateWindow(TEXT("STATIC") , TEXT("あああ") ,WS_CHILD | WS_VISIBLE | ES_LEFT ,0 , 20 , 400 , 20 ,hWnd , 0 ,hInst , NULL);

553 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2017/04/09(日) 07:27:35.73 ID:qFsmFYyf.net]
>>544
省略せずに書いてみて。

554 名前:544 mailto:sage [2017/04/10(月) 07:47:25.26 ID:RoCnetHj.net]
すみません、お手数をおかけします。


// あああああ が表示される
CreateWindow( "STATIC",
"あああああ", WS_CHILD | WS_VISIBLE | SS_CENTER,
x, y, w, h,
hGrp1, (HMENU)ID_TEXT1, hInst, NULL );

// あああああ が表示されず ,,,,, となる
CreateWindow( "EDIT",
"あああああ", WS_CHILD | WS_VISIBLE | SS_CENTER,
x, y+50, w, h,
hGrp1, (HMENU)ID_TEXT2, hInst, NULL );

hGrp1 はグループボックスです。

555 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2017/04/10(月) 08:21:28.02 ID:73IQobxS.net]
"EDIT"にはSS_CENTERは使えないよ。EDITにはES_...スタイルを使う。

556 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 08:53:21.05 ID:ZIRNWk3W.net]
>>547
とりあえずコントロール毎に指定フラグが違う事を指摘しておく

557 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 16:45:44.18 ID:PH6zMRzh.net]
>>547
マルチバイト文字列が上手くいかないなら"AAAA"のようにシングルバイト文字列で試してみればいいじゃないか。

558 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 17:20:37.45 ID:vopNHtdq.net]
>>547
WM_SETFONTを使って、フォントを関連付けしてみたらどうだい?

559 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2017/04/10(月) 17:25:49.47 ID:73IQobxS.net]
SS_CENTERがES_ENDELIPSISとして解釈されたんだろうな。
【今日の教訓】
EDITコントロールには、ES_で始まるスタイルを使え。SS_はEDITには使うな。



560 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2017/04/10(月) 17:32:00.56 ID:73IQobxS.net]
ごめん、ES_ENDELIPSISというスタイルはなかった。SS_CENTERの代わりにES_CENTERを指定すればいい。

561 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 21:33:08.91 ID:G1/iiInq.net]
なんでESとかSSとか種類が有るの?

562 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 21:59:23.57 ID:PH6zMRzh.net]
そりゃ特定のコントロールに対するものだからさ。
あとSS_CENTERもES_CENTERも winuser.h で 0x01L と定義されている。

例えば共通の定義 XX_CENTER 0x01L としていた場合、
EDITコントロールの仕様変更でXX_CENTER 0x02L としたくても
STATICコントロールで同じ意義を使っているため変えることが出来ないだろ。
もし定義を変えた場合、STATICコントロールで0x02L というのは別の意味を持っている(かもしれない)ので動作がおかしくなる。
だから意味は同じでも“値”としては別のものとして扱う(定義する)。

563 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 22:00:00.06 ID:PH6zMRzh.net]
ミス
意義→定義

564 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 23:44:29.58 ID:CESguEkt.net]
じゃー将来SS_CENTERが別の値に変更されても安心だね

565 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 07:55:30.63 ID:pJyY6xCH.net]
変えたらひどいことになるけどなw
本音と建前みたいなもんでCの欠点だな。後発言語はそういうとこカバーされてる(のもある)

566 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 17:52:35.12 ID:xC3FSY5Y.net]
モーダルダイアログをメインの親とし、その後動的にサブメニューを表示する仕組みがあります。
サブメニュー表示中も親側の操作を可能とするため、サブメニューはモードレスとしていますが、
TABなどのキー入力が効きません。
辛うじて、初期フォーカスがあるボタンのみスペースキーを受け付けます。
マウス操作は問題ありません。

原因としてはサブメニューのキー処理をする IsDialogMessage を含むメッセージループが必要
なんだろうと思いますが、こういう場合の定石というのはあるのでしょうか?

思い付く実装は以下2パターンです。

その1
親もモードレスとし、親のメッセージループ中にサブメニューのメッセージも処理する仕組みを入れる。

その2
サブメニュー表示後に別スレッドを立ち上げ、そこでサブメニューのメッセージループを回す。


普通はこうだよ。とか他の方法などありましたらお願いします。

567 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 17:55:40.75 ID:xC3FSY5Y.net]
ちょっと語弊がありましたので訂正です。

ここで言う「サブメニュー」とは、CreateMenu などで作られる一般的に言うメニューではなく、
単なるポップアップスタイルのタイトルなしダイアログのことです。
CreateDialog で画面を作っています。
勝手に言葉を作ってすみません。

568 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 18:23:36.29 ID:9HH9Hffg.net]
2つウインドウがあって、1つはメインウインドウ、もう1つはメニューウインドウ
メインウインドウにキーフォーカスがあるとメニューウインドウでキー操作できず、メニューウインドウにフォーカスがあるとメインウインドウでキー操作できない
メッセージを適宜流せばいいんじゃないか?

569 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 22:23:16.04 ID:xC3FSY5Y.net]
フォーカスはそれがあるウィンドウで処理できるようなUIを考えています。
ユーザーがメインウィンドウにフォーカスを(マウスなどで)移せば、
以降はそのウィンドウでキーボード操作ができればいいです。その逆も然り。

適宜メッセージを流すにしても、結局どこでメッセージループを回すかという
話になるのではと思うのですが、違うのでしょうか?



570 名前:デフォルトの名無しさん mailto:sage [2017/04/12(水) 22:43:12.22 ID:iYQoJoP4.net]
なにいってんだこいつ

571 名前:デフォルトの名無しさん mailto:sage [2017/04/12(水) 23:28:35.38 ID:lhjyuLrL.net]
分からないのに無理して答えるなよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<264KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef