Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build123©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/10/08(土) 12:33:02.29ID:0jaJMPXG
388デフォルトの名無しさん
2017/02/05(日) 19:59:38.66ID:lBwes1rb WindowsAPIのRect系は右と下の1ドットは含まれないはずだったが
389デフォルトの名無しさん
2017/02/05(日) 20:00:15.60ID:Kv3SwlRy ピクセルの左上の隙間の位置を返す仕様(Javaと同じ)
なので単純に差を出して指定しないと膨らむ
なので単純に差を出して指定しないと膨らむ
390デフォルトの名無しさん
2017/02/05(日) 20:02:41.46ID:wagcFIA6 >>387
画面DPI100%以外になってない?vista以降はそれ原因で従来のAPIの扱いが面倒になってる
画面DPI100%以外になってない?vista以降はそれ原因で従来のAPIの扱いが面倒になってる
391デフォルトの名無しさん
2017/02/05(日) 20:05:12.27ID:ajRW1B46 MSDNを見ると
GetClientRectはleftとtopが常に0で
rightとbottomには幅と高さが入ってくると書かれていて
事実その通りになっていますが
GetWindowRectのほうは
ウインドウの左上座標と右下座標と表記されてるので
right-left+1 が幅になるはずです
なのでこの仕様はおかしいと思います
GetClientRectはleftとtopが常に0で
rightとbottomには幅と高さが入ってくると書かれていて
事実その通りになっていますが
GetWindowRectのほうは
ウインドウの左上座標と右下座標と表記されてるので
right-left+1 が幅になるはずです
なのでこの仕様はおかしいと思います
392デフォルトの名無しさん
2017/02/05(日) 20:08:48.13ID:DkYFBwwC393デフォルトの名無しさん
2017/02/05(日) 20:19:29.52ID:ajRW1B46 オセロでなく碁盤で数えろってことですね
納得しました
納得しました
394デフォルトの名無しさん
2017/02/06(月) 11:44:22.96ID:atuXlQHb >>392この辺ちゃんと理解してないと1ドット足りないみたいな事態になるんだよな
VBerとか1オリジンでUboundとか慣れてるとドはまりしそう
VBerとか1オリジンでUboundとか慣れてるとドはまりしそう
395デフォルトの名無しさん
2017/02/06(月) 15:30:39.87ID:sNAkUIYE >>391
GetClientRectの話だけど
left=top=0だとして
right=bottom=1だったら
幅と高さは1で
ウィンドウは(0,0)-(0,0)で1ピクセルのウィンドウだから
やっぱり幅と高さは1だし矛盾しない
GetClientRectの話だけど
left=top=0だとして
right=bottom=1だったら
幅と高さは1で
ウィンドウは(0,0)-(0,0)で1ピクセルのウィンドウだから
やっぱり幅と高さは1だし矛盾しない
396デフォルトの名無しさん
2017/02/06(月) 16:17:17.14ID:atuXlQHb 画像の部分クリップとかやりだすとちょっと混乱したりする教訓か
ドトネトなんかではx y width heightなプロパティを別に持っている
ドトネトなんかではx y width heightなプロパティを別に持っている
397デフォルトの名無しさん
2017/02/06(月) 17:51:48.08ID:2YUAIh/k SetWindowPosとMoveWindowとで
ウィンドウを動かした時に何か違いはあるんでしょうか?
SetWindowPosでウィンドウは動かせるのに
MoveWindowは何のために用意されてるんですか?
ウィンドウを動かした時に何か違いはあるんでしょうか?
SetWindowPosでウィンドウは動かせるのに
MoveWindowは何のために用意されてるんですか?
398片山博文MZ ◆T6xkBnTXz7B0
2017/02/06(月) 18:06:24.84ID:myCEQNc2 >>397
SetWindowPosの方がフラグ指定や挿入位置指定など、できることが多い。
SetWindowPosの方がフラグ指定や挿入位置指定など、できることが多い。
399デフォルトの名無しさん
2017/02/07(火) 08:29:41.33ID:g0+JjgLn >>398
ではMoveWindowは何のために存在しているの
ではMoveWindowは何のために存在しているの
400デフォルトの名無しさん
2017/02/07(火) 09:23:30.46ID:mtDQmVBr フラグとか触らないでただ動かす時のため
401デフォルトの名無しさん
2017/02/07(火) 11:23:40.44ID:IHNU1ydF 昔のことは知らないけど SetWindowPos が後から追加されたんじゃないの
402デフォルトの名無しさん
2017/02/07(火) 11:40:48.78ID:+LdvU0fQ 理由も昔のことも知らないけど 今はMoveWindowの内部でSetWindowPosが呼ばれてたと思う
403デフォルトの名無しさん
2017/02/07(火) 15:19:54.85ID:LuCsRke8 後方互換性のため
404デフォルトの名無しさん
2017/02/07(火) 22:51:17.46ID:m2J0GXa0 DeferWindowPos
405デフォルトの名無しさん
2017/02/17(金) 18:42:29.90ID:xKxGFEhy 実行ファイルの埋め込みマニフェストの実体をいじらずに
内容を修正した上で起動したり、任意の外部マニフェストファイルを読めるように
操作できませんか?
具体的には、マニフェストのcompatibilityの項目なんですが。。。
内容を修正した上で起動したり、任意の外部マニフェストファイルを読めるように
操作できませんか?
具体的には、マニフェストのcompatibilityの項目なんですが。。。
406デフォルトの名無しさん
2017/02/17(金) 19:08:12.47ID:yGnzX63H OSのバージョンにより異なる
ttps://msdn.microsoft.com/ja-jp/library/ms235342%28VS.80%29.aspx
ttp://www.taosoftware.co.jp/blog/2008/02/windows_1.html
ttp://nekojiru.blog.so-net.ne.jp/2007-09-03
ttps://msdn.microsoft.com/ja-jp/library/ms235342%28VS.80%29.aspx
ttp://www.taosoftware.co.jp/blog/2008/02/windows_1.html
ttp://nekojiru.blog.so-net.ne.jp/2007-09-03
407デフォルトの名無しさん
2017/02/17(金) 19:35:32.23ID:xKxGFEhy Windows7以降は埋め込み優先で、
実行ファイルのマニフェスト自身を書き換える方法、レジストリでOS自体の設定をいじる方法、
ActivateActCtx()でcommctl.dllは変更できるっぽい?
ってのはわかったんですが、個別に実行ファイルをいじらずに操作する方法があるかな、と思った次第です。
実行ファイルのマニフェスト自身を書き換える方法、レジストリでOS自体の設定をいじる方法、
ActivateActCtx()でcommctl.dllは変更できるっぽい?
ってのはわかったんですが、個別に実行ファイルをいじらずに操作する方法があるかな、と思った次第です。
408デフォルトの名無しさん
2017/02/17(金) 19:51:35.09ID:Z3/lG4/1 ショートカット作って、そのプロパティにアクセスして、互換性編集して、そのショートカットで起動させるとか?
409デフォルトの名無しさん
2017/03/01(水) 19:41:47.62ID:GhHUeiw5 windows8.1/10 マルチモニター環境で、ウインドウの位置がタッチパネルデバイスを
有するモニターであるかを調べたい場合どうすればよいですか?
HMONITOR hMonitor = MonitorFromWindow(hWnd,MONITOR_DEFAULTTONEAREST);
これで、モニターのハンドルは調べられるのですが、
このモニターがタッチパネルを有するモニターを調べる場合どうすればいいかわかりません。
有するモニターであるかを調べたい場合どうすればよいですか?
HMONITOR hMonitor = MonitorFromWindow(hWnd,MONITOR_DEFAULTTONEAREST);
これで、モニターのハンドルは調べられるのですが、
このモニターがタッチパネルを有するモニターを調べる場合どうすればいいかわかりません。
410デフォルトの名無しさん
2017/03/01(水) 19:53:26.09ID:IeB4TnBd Win32_PointingDeviceあたりだろうな
411デフォルトの名無しさん
2017/03/02(木) 16:15:18.67ID:35Ccu8m+ Win32 Pointhig Device軽く調べたんですが、それっぽいのないですね;;
412デフォルトの名無しさん
2017/03/02(木) 16:33:06.48ID:j0RdOmJS それでタッチかどうかわかるでしょ
あとはWin32_VideoController、Win32_DesktopMonitor、GetMonitorInfoあたりと情報突き合わせたら
その座標がタッチ対応かわかる
あとはWin32_VideoController、Win32_DesktopMonitor、GetMonitorInfoあたりと情報突き合わせたら
その座標がタッチ対応かわかる
413デフォルトの名無しさん
2017/03/02(木) 17:34:40.28ID:HWkXh2UP 応用がきくプログラマーを目指せ
414デフォルトの名無しさん
2017/03/02(木) 19:31:01.50ID:ZV5SMkF2 ここさわって
っていううメッセージを描いておく
っていううメッセージを描いておく
415デフォルトの名無しさん
2017/03/02(木) 20:19:05.81ID:HWkXh2UP 俺ならそのメッセージでもマウス操作しかしなさそうだわw
416デフォルトの名無しさん
2017/03/02(木) 21:11:15.50ID:35Ccu8m+ ユーザー側に、全てのモニターをタッチさせて、有効無効を設定してくれとダイアログだろうかと思いましたが、
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
417デフォルトの名無しさん
2017/03/02(木) 21:14:09.87ID:35Ccu8m+ ユーザー側に、全てのモニターをタッチさせて、有効無効を設定してくれと、ダイアログを出そうかと思いましたが、
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
418デフォルトの名無しさん
2017/03/03(金) 12:32:15.32ID:IUFykjWp Windowsじゃ何やっても無駄ですよ。
生産性はないです。
まともにタブで操作すると考え方をタブに合わせて全体を設計し直さないとダメでです。
ポインターの概念を画像で処理する必要ががります。
マルチで接触してる部分の個々の中心点を求めて
接触している部分にボタンの候補があるかどうか
そういう処理を行わないとだめ
Windowsが使えないのは、ポインティングデバイスから無理に
座標変換してるので誤操作と誤作動だらけになる。
マイクロソフトにはこの分野は作れないと思いますよ。
生産性はないです。
まともにタブで操作すると考え方をタブに合わせて全体を設計し直さないとダメでです。
ポインターの概念を画像で処理する必要ががります。
マルチで接触してる部分の個々の中心点を求めて
接触している部分にボタンの候補があるかどうか
そういう処理を行わないとだめ
Windowsが使えないのは、ポインティングデバイスから無理に
座標変換してるので誤操作と誤作動だらけになる。
マイクロソフトにはこの分野は作れないと思いますよ。
419デフォルトの名無しさん
2017/03/03(金) 12:56:20.62ID:Loi48FLt 入力なんていう低レベルからシェア捕れる可能性を秘めてる
集金システムもまともなのがないからそこもね
ハードからソフトまでガチガチなiphoneやandroidと違ってビジネスチャンスに溢れた自由なOS。それがWindows
集金システムもまともなのがないからそこもね
ハードからソフトまでガチガチなiphoneやandroidと違ってビジネスチャンスに溢れた自由なOS。それがWindows
420デフォルトの名無しさん
2017/03/03(金) 16:55:05.95ID:7kccr9GO >>418
窓板に何年も毎日貼り付いてるキチガイタイポマカーのコピペじゃねえかw
窓板に何年も毎日貼り付いてるキチガイタイポマカーのコピペじゃねえかw
421デフォルトの名無しさん
2017/03/04(土) 13:10:48.65ID:aE/wnzST どんなに優れていても誰にも使われなければ意味が無い。
422デフォルトの名無しさん
2017/03/04(土) 13:24:45.44ID:il8vJgV1 使われてるやん
って言ったら使ってる奴がアホってか?
って言ったら使ってる奴がアホってか?
423デフォルトの名無しさん
2017/03/04(土) 14:25:59.12ID:GRvQ2lmz シェア獲得率と優劣は比例しない
424デフォルトの名無しさん
2017/03/04(土) 14:32:38.90ID:svzWwCAT そう言っておかないとシェア4%のMacなんか何の立場もないもんな
425デフォルトの名無しさん
2017/03/04(土) 14:46:44.82ID:nGVyMKq0 シェア獲得率が高いものは、シェアに優れてる
426デフォルトの名無しさん
2017/03/04(土) 15:10:40.29ID:aE/wnzST 別に使われてると思ってるなら良いんでない?
俺は趣味でもあり金を稼ぐ道具でもあるからMacなんて使わんけど。
だいたい、知らんもんで金は稼げない。
俺は趣味でもあり金を稼ぐ道具でもあるからMacなんて使わんけど。
だいたい、知らんもんで金は稼げない。
427デフォルトの名無しさん
2017/03/04(土) 18:17:19.42ID:ZJLt6oM8 MacをPCだとするとシェア4%になるが
DTMコンソールやCG用レンダラーだとするとシェアが何倍にもなる不思議
DTMコンソールやCG用レンダラーだとするとシェアが何倍にもなる不思議
428デフォルトの名無しさん
2017/03/05(日) 13:07:20.68ID:Fl7T0tas >>419
でも優良見込み客を囲い込んでるのは i & a なんだよなぁ
でも優良見込み客を囲い込んでるのは i & a なんだよなぁ
429デフォルトの名無しさん
2017/03/05(日) 13:41:54.91ID:1JomNGIg >>427
2015年での世界におけるAppleのシェアは7.5%だそうです。
http://ascii.jp/elem/000/001/104/1104428/20160113_yohiro_PCShipment_03_767x659.png
2015年での世界におけるAppleのシェアは7.5%だそうです。
http://ascii.jp/elem/000/001/104/1104428/20160113_yohiro_PCShipment_03_767x659.png
430デフォルトの名無しさん
2017/03/05(日) 14:27:40.01ID:zkc5hO4d ベンダー出荷シェアとかOSの販売数ってのは利用率なシェアとは別モンだからな
431デフォルトの名無しさん
2017/03/05(日) 17:20:05.73ID:KDLljhIv 光学ドライブのAutoRunを無効にしてると、ディスクを入れ替えたことに気付けないみたいですが、
どうやったらディスクの情報をリフレッシュさせることができるのでしょうか?
ディレクトリ一覧を取得しようとしても、入れ替え前のディスクのディレクトリが出てきて困ってます
どうやったらディスクの情報をリフレッシュさせることができるのでしょうか?
ディレクトリ一覧を取得しようとしても、入れ替え前のディスクのディレクトリが出てきて困ってます
432デフォルトの名無しさん
2017/03/05(日) 19:16:54.98ID:zkc5hO4d 今のOSはAutoRun最初から無効だから、それが本当ならほとんどのPCでまともに取得できないってことになるな
ソースどっかミスってるんでしょ
ソースどっかミスってるんでしょ
433デフォルトの名無しさん
2017/03/05(日) 19:23:58.07ID:91bxBwXE もちろんエクスプローラーで開けば情報は更新されます。プログラムからトレイを開閉しても情報は更新されます。
光学ドライブのボタンで開閉すると、情報が更新されないままなのです。
光学ドライブのボタンで開閉すると、情報が更新されないままなのです。
434デフォルトの名無しさん
2017/03/05(日) 19:45:45.34ID:1JomNGIg435デフォルトの名無しさん
2017/03/10(金) 01:12:03.58ID:5qliBH2Z https://ideone.com/i4fQGS
Win32API勉強中なんですが、ウィンドウを作ることができません、hWndがNULLになってしまって途中で終わってしまいます
ウィンドウクラスの登録も失敗していないみたいなので原因がわかりません、どこが悪いのか教えてください
Win32API勉強中なんですが、ウィンドウを作ることができません、hWndがNULLになってしまって途中で終わってしまいます
ウィンドウクラスの登録も失敗していないみたいなので原因がわかりません、どこが悪いのか教えてください
436デフォルトの名無しさん
2017/03/10(金) 03:42:45.84ID:Vp9TD86Z 自分のウインドのZオーダーが変化したタイミングを調べたいのですが、
ウインドメッセージでなにかありましたっけ?
ウインドメッセージでなにかありましたっけ?
437デフォルトの名無しさん
2017/03/10(金) 03:48:47.30ID:G57q42um438デフォルトの名無しさん
2017/03/10(金) 04:07:50.94ID:Vp9TD86Z WM_WINDOWPOSCHANGEDは、だめでした。
ちなみにウインドウはCreateWindowExで、WS_EX_TOPMOSTしています。
ウインドウのスタートメニューが重なっと時にそれよりも前面に表示したいのですが。。
WM_WINDOWPOSCHANGEDにメッセージ来てないっぽいです。
今は、代案として1秒ごとに、SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);を入れているのですが、
もっといい方法ないでしょうか?
いま、GetWindowあたり調べているのですが、GetWindow(hWnd, GW_HWNDPREV);だと
imeのハンドルが取れるっぽいのでなんか違う。。orz
ちなみにウインドウはCreateWindowExで、WS_EX_TOPMOSTしています。
ウインドウのスタートメニューが重なっと時にそれよりも前面に表示したいのですが。。
WM_WINDOWPOSCHANGEDにメッセージ来てないっぽいです。
今は、代案として1秒ごとに、SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);を入れているのですが、
もっといい方法ないでしょうか?
いま、GetWindowあたり調べているのですが、GetWindow(hWnd, GW_HWNDPREV);だと
imeのハンドルが取れるっぽいのでなんか違う。。orz
439デフォルトの名無しさん
2017/03/10(金) 05:09:47.00ID:j91K0HTy ランサムウェアですねわかります
440デフォルトの名無しさん
2017/03/10(金) 05:17:14.60ID:Vp9TD86Z >>439
悪さするアプリじゃないんだが?
悪さするアプリじゃないんだが?
441デフォルトの名無しさん
2017/03/10(金) 07:10:36.82ID:n8W4k0Sb 異教徒の大量虐殺をためらわない一神教の思想性を理解するのに役立つ。
いずれ日本がアメリカに復讐する日が来るだろう。
いずれ日本がアメリカに復讐する日が来るだろう。
442デフォルトの名無しさん
2017/03/10(金) 07:13:07.30ID:n8W4k0Sb >>441 誤爆失礼
443デフォルトの名無しさん
2017/03/10(金) 08:47:49.51ID:Lkoti1g0 >>440
昔からこういう奴はいるから気にするな
昔からこういう奴はいるから気にするな
444デフォルトの名無しさん
2017/03/10(金) 14:11:40.65ID:wwCDmvkp 図星ですねわかります
445片山博文MZ ◆T6xkBnTXz7B0
2017/03/10(金) 14:29:16.92ID:iyjWrKHK NG: (HBRUSH)COLOR_BACKGROUND
OK: (HBRUSH)(COLOR_3DFACE + 1)
ShowWindow(hWnd, SW_SHOW);の後にUpdateWindow(hWnd);がない。
OK: (HBRUSH)(COLOR_3DFACE + 1)
ShowWindow(hWnd, SW_SHOW);の後にUpdateWindow(hWnd);がない。
446片山博文MZ ◆T6xkBnTXz7B0
2017/03/10(金) 14:30:21.93ID:iyjWrKHK ShowWindow(hWnd, SW_SHOW);
じゃなくて、ShowWindow(hWnd, nCmdShow);
かShowWindow(hWnd, SW_SHOWNORMAL);にしろ。
じゃなくて、ShowWindow(hWnd, nCmdShow);
かShowWindow(hWnd, SW_SHOWNORMAL);にしろ。
447デフォルトの名無しさん
2017/03/10(金) 14:40:49.87ID:ALHJU+Fn >>437
ありがとうございますこれでいけました
ありがとうございますこれでいけました
448デフォルトの名無しさん
2017/03/10(金) 16:29:28.86ID:ALHJU+Fn すいませんまた質問させてください
テトリスを作る動画を見ながらこれを作っているのですが、リソースの画像を一度表示されたんですが、画像のサイズが変だったので訂正したところ表示されなくなりました
どこが悪いのか教えて頂けないでしょうか?
https://ideone.com/i4fQGS
テトリスを作る動画を見ながらこれを作っているのですが、リソースの画像を一度表示されたんですが、画像のサイズが変だったので訂正したところ表示されなくなりました
どこが悪いのか教えて頂けないでしょうか?
https://ideone.com/i4fQGS
449デフォルトの名無しさん
2017/03/10(金) 17:21:39.95ID:wwCDmvkp r.right = 24 * 10;
r.bottom = 24 * 20;
r.bottom = 24 * 20;
450デフォルトの名無しさん
2017/03/12(日) 21:56:50.24ID:EdU52Ynw タスクトレイのShell_NotifyIcon();について質問です。
タスクトレイのアイコンサイズは32x32または16x16が一般的っぽいのですが、
64x32などの長方形サイズなどのカスタムアイコンを設定できるのでしょうか?
icdata.dwInfoFlagsで NIIF_LARGE_ICONっていうパラメーターを設定したのですが、
反映されていないっぽいです。
case WM_CREATE:
{
ZeroMemory(&icdata, sizeof(icdata));
hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1));
icdata.cbSize = sizeof(NOTIFYICONDATA);
icdata.hWnd = hWnd; icdata.uID = 0;
icdata.uFlags = NIF_MESSAGE | NIF_TIP | NIF_SHOWTIP | NIF_ICON;
icdata.dwInfoFlags = NIIF_LARGE_ICON;
icdata.uCallbackMessage = WM_USER;
icdata.uVersion = NOTIFYICON_VERSION_4;
icdata.hIcon = hIcon;
wcscpy_s(icdata.szTip, sizeof(icdata.szTip), L"左クリックで終了");
Shell_NotifyIcon(NIM_ADD, &icdata);
}
タスクトレイのアイコンサイズは32x32または16x16が一般的っぽいのですが、
64x32などの長方形サイズなどのカスタムアイコンを設定できるのでしょうか?
icdata.dwInfoFlagsで NIIF_LARGE_ICONっていうパラメーターを設定したのですが、
反映されていないっぽいです。
case WM_CREATE:
{
ZeroMemory(&icdata, sizeof(icdata));
hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1));
icdata.cbSize = sizeof(NOTIFYICONDATA);
icdata.hWnd = hWnd; icdata.uID = 0;
icdata.uFlags = NIF_MESSAGE | NIF_TIP | NIF_SHOWTIP | NIF_ICON;
icdata.dwInfoFlags = NIIF_LARGE_ICON;
icdata.uCallbackMessage = WM_USER;
icdata.uVersion = NOTIFYICON_VERSION_4;
icdata.hIcon = hIcon;
wcscpy_s(icdata.szTip, sizeof(icdata.szTip), L"左クリックで終了");
Shell_NotifyIcon(NIM_ADD, &icdata);
}
451450
2017/03/12(日) 22:56:10.20ID:EdU52Ynw LoadIconは、LoadIconMetricでした。
HRESULT hr = LoadIconMetric(hInst, MAKEINTRESOURCE(IDI_ICON1), LIM_LARGE, &hIcon);
しかし、変化なし。。
HRESULT hr = LoadIconMetric(hInst, MAKEINTRESOURCE(IDI_ICON1), LIM_LARGE, &hIcon);
しかし、変化なし。。
452デフォルトの名無しさん
2017/03/13(月) 06:26:15.42ID:cVbgmuk1 右クリックとかでよく出るポップアップメニューの
フォントの大きさを変更したい場合どうすればよいですか?
case WM_RBUTTONDOWN:
{
POINT pt;
pt.x = LOWORD(lParam);pt.y = HIWORD(lParam);
ClientToScreen(hWnd, &pt);
TrackPopupMenu(hMenu, TPM_LEFTALIGN, pt.x, pt.y, 0, hWnd, NULL);
}
break;
フォントの大きさを変更したい場合どうすればよいですか?
case WM_RBUTTONDOWN:
{
POINT pt;
pt.x = LOWORD(lParam);pt.y = HIWORD(lParam);
ClientToScreen(hWnd, &pt);
TrackPopupMenu(hMenu, TPM_LEFTALIGN, pt.x, pt.y, 0, hWnd, NULL);
}
break;
453デフォルトの名無しさん
2017/03/13(月) 06:47:05.65ID:cVbgmuk1 自己解決。。調べたら、メニュー・オーナードローについて詳しいページが出てきました。
454デフォルトの名無しさん
2017/03/13(月) 08:55:13.87ID:hLVIfrQc 紀平さんのか
456デフォルトの名無しさん
2017/03/13(月) 13:43:30.21ID:N3DmujAP >>450
オーナードロー
オーナードロー
457デフォルトの名無しさん
2017/03/13(月) 13:49:46.45ID:wbj+4uLG >>456
それだけじゃ答えから遠い
それだけじゃ答えから遠い
458デフォルトの名無しさん
2017/03/13(月) 17:27:27.81ID:RCZql05q >>449
違うみたいです・・・
違うみたいです・・・
459デフォルトの名無しさん
2017/03/13(月) 20:18:35.18ID:DGoKmeFN https://ideone.com/i4fQGS
VC++で見ているんですが24行目のhBitmapにはちゃんとアドレスが確保されているのになぜか描画されません
どういった原因が考えられるでしょうか?
VC++で見ているんですが24行目のhBitmapにはちゃんとアドレスが確保されているのになぜか描画されません
どういった原因が考えられるでしょうか?
460片山博文MZ ◆T6xkBnTXz7B0
2017/03/13(月) 20:24:18.16ID:VNPYsRzK >>459
SelectObjectは、BeginPaintの後に呼ばないといけない。HDCが違う。
SelectObjectは、BeginPaintの後に呼ばないといけない。HDCが違う。
461デフォルトの名無しさん
2017/03/13(月) 23:00:39.35ID:cCiuixm4 >>459
コンパイルして実行してみたけど表示されたよ。bmpファイルがおかしいんじゃない?
あとWM_DESTROYでhMemDCとhBlockDCをDeleteObjectしてるけどDeleteDCじゃないとダメ
コンパイルして実行してみたけど表示されたよ。bmpファイルがおかしいんじゃない?
あとWM_DESTROYでhMemDCとhBlockDCをDeleteObjectしてるけどDeleteDCじゃないとダメ
462デフォルトの名無しさん
2017/03/14(火) 10:21:04.36ID:vbV/Jpv3463459
2017/03/14(火) 23:58:45.78ID:MclzPbbI 環境も書いたほうがいいですね、Win7 x64でVC++2010 Expressです、rcファイル作って「BLOCKS BITMAP "block.bmp"」と書いてます
ファイル名は間違えていないですし、リンクしてoファイルは作っていないですけど間違っていますか?
最初は自作のbmpファイルでやっていたんですけど、途中から作られたbmpファイルでやろうとして表示されなくなりました
ここにあるblock.bmpというやつです
https://github.com/DQNEO/CppTetris
動画を見てロジックを理解しながら学習したいのですが、なかなか捗らないです
>>460
ごめんなさい、何行目のことかわからないです
>>461
修正しました!
>>462
ありがとうございます
ファイル名は間違えていないですし、リンクしてoファイルは作っていないですけど間違っていますか?
最初は自作のbmpファイルでやっていたんですけど、途中から作られたbmpファイルでやろうとして表示されなくなりました
ここにあるblock.bmpというやつです
https://github.com/DQNEO/CppTetris
動画を見てロジックを理解しながら学習したいのですが、なかなか捗らないです
>>460
ごめんなさい、何行目のことかわからないです
>>461
修正しました!
>>462
ありがとうございます
464デフォルトの名無しさん
2017/03/15(水) 12:08:58.48ID:7YWEdixI 馬鹿には無理
465デフォルトの名無しさん
2017/03/15(水) 12:54:33.61ID:rPK+nkkO 用意されてたbmpでは動く。自作bmpでは動かない。ってことかよ。だとしたら原因ひとつじゃん
466デフォルトの名無しさん
2017/03/15(水) 13:11:54.57ID:h6gBY/+f >>463
imgurにでも自分で作ったbmp上げてみてよ
imgurにでも自分で作ったbmp上げてみてよ
467デフォルトの名無しさん
2017/03/15(水) 13:37:27.01ID:7YWEdixI imgurって内容変わるんじゃね
468デフォルトの名無しさん
2017/03/15(水) 13:42:29.19ID:h6gBY/+f マジかごめん
469デフォルトの名無しさん
2017/03/15(水) 16:58:13.14ID:0QbqsbzH >>463
たぶん表示されてるんだと思う
WM_CREATE内の//debugの下の行を
BitBlt(hMemDC, 0, 0, 24, 24, hBlockDC, 0, 24, SRCCOPY);
にするとどうなる?
たぶん表示されてるんだと思う
WM_CREATE内の//debugの下の行を
BitBlt(hMemDC, 0, 0, 24, 24, hBlockDC, 0, 24, SRCCOPY);
にするとどうなる?
470デフォルトの名無しさん
2017/03/15(水) 18:59:14.47ID:Jw8FgjFy ちょっと見てみたよ
bmpのIDだけど、BLOCKS と "BLOCKS" は別だからね
BLOCKSは数値に置き換えられてるけどLoadBitmapは文字列の"BLOCKS"で読もうとしてる
初心者の頃はやりがちなやつだな
bmpのIDだけど、BLOCKS と "BLOCKS" は別だからね
BLOCKSは数値に置き換えられてるけどLoadBitmapは文字列の"BLOCKS"で読もうとしてる
初心者の頃はやりがちなやつだな
471デフォルトの名無しさん
2017/03/15(水) 20:15:49.77ID:5s+i++Yx >>469
ありがとうございます、これで表示されました
でもhttp://dqn.sakusakutto.jp/2012/11/cpp_tetris.htmlこの動画とは別の画像が表示されます
動画上では灰色ブロックが出てきているのに、自分の環境では赤色のブロックが出てきている状況です
>>470
動画では「"BLOCKS"」と定義されていたので自分は「TEXT("BLOCKS")」と定義したんですが両者は違うものなのでしょうか?
ありがとうございます、これで表示されました
でもhttp://dqn.sakusakutto.jp/2012/11/cpp_tetris.htmlこの動画とは別の画像が表示されます
動画上では灰色ブロックが出てきているのに、自分の環境では赤色のブロックが出てきている状況です
>>470
動画では「"BLOCKS"」と定義されていたので自分は「TEXT("BLOCKS")」と定義したんですが両者は違うものなのでしょうか?
472デフォルトの名無しさん
2017/03/15(水) 20:16:40.91ID:LU+w+iAT rcの方だろ
473デフォルトの名無しさん
2017/03/15(水) 21:50:38.03ID:5BC7GJpQ USBメモリなどUSB機器の接続検知をおこないたいのですが、WM_DEVICECHANGEを使用すると
https://qanda.rakuten.ne.jp/qa5211631.html
のようにUSBメモリによってはDBT_DEVICEARRIVALが何度か来てしまいます。
↑のQ&Aにあるように、正常に認識されたときを検出するにはどうすればよいでしょうか?
https://qanda.rakuten.ne.jp/qa5211631.html
のようにUSBメモリによってはDBT_DEVICEARRIVALが何度か来てしまいます。
↑のQ&Aにあるように、正常に認識されたときを検出するにはどうすればよいでしょうか?
474デフォルトの名無しさん
2017/03/15(水) 23:07:40.31ID:5s+i++Yx475デフォルトの名無しさん
2017/03/16(木) 09:34:05.83ID:fy4K8iiJ こうやって手取り足取りな奴はイライラする
476デフォルトの名無しさん
2017/03/16(木) 11:58:27.68ID:bBZQNLcb >>475
じゃあ来なければいいよ
じゃあ来なければいいよ
477デフォルトの名無しさん
2017/03/16(木) 15:14:09.34ID:Oq2mLnGK お前が手足を完全にもいでトドメを刺せばいい
478デフォルトの名無しさん
2017/03/16(木) 17:17:19.21ID:Xe646fvV モイっ!
479デフォルトの名無しさん
2017/03/16(木) 22:29:13.60ID:xw1bzJ/c >>473
((PDEV_BROADCAST_HDR)lParam)->dbch_devicetype が全部同じなの?
((PDEV_BROADCAST_HDR)lParam)->dbch_devicetype が全部同じなの?
480デフォルトの名無しさん
2017/03/19(日) 01:08:24.24ID:bawtCMkE SHAppBarMessage(ABM_QUERYPOS, &abd);が正しい値を取得できない場合どうすればいいですか?
Windows10の設定:システム:ディスプレイ:ディプレイカスタマイズ画面
テキスト、アプリ、その他の項目サイズを変更する
で100%から175%までいろいろ変化させてみると表示位置のずれが発生します。
Windows10の設定:システム:ディスプレイ:ディプレイカスタマイズ画面
テキスト、アプリ、その他の項目サイズを変更する
で100%から175%までいろいろ変化させてみると表示位置のずれが発生します。
481デフォルトの名無しさん
2017/03/19(日) 04:28:36.19ID:yhAiVzME482デフォルトの名無しさん
2017/03/20(月) 10:38:14.59ID:px9bK4BM タスクトレイの自動的に隠すになっているかを調べる場合どうすればよいですか?
483デフォルトの名無しさん
2017/03/20(月) 11:02:11.90ID:OlmnVrTw レジストリでも見ればわかるんじゃない?
484482
2017/03/20(月) 11:03:48.79ID:px9bK4BM 自己解決・・
APPBARDATA appbardata;
appbardata.cbSize = sizeof(APPBARDATA);
appbardata.hWnd = FindWindow(L"Shell_TrayWnd", 0);
if(SHAppBarMessage(ABM_GETSTATE, &appbardata))
{
// 自動的に隠れている
}
APPBARDATA appbardata;
appbardata.cbSize = sizeof(APPBARDATA);
appbardata.hWnd = FindWindow(L"Shell_TrayWnd", 0);
if(SHAppBarMessage(ABM_GETSTATE, &appbardata))
{
// 自動的に隠れている
}
485デフォルトの名無しさん
2017/03/20(月) 23:28:19.28ID:pgDQQg6b 最近、win32 はいつまで残るんだろうな、とふと不安になる
.net とか妙なものが蔓延ってるけど。
.net とか妙なものが蔓延ってるけど。
486デフォルトの名無しさん
2017/03/21(火) 00:19:55.43ID:3zup+qvo MS32bitOSが居る限りはなくならないだろ
.netだって内部的にWin32API呼び出しているし
.netだって内部的にWin32API呼び出しているし
487デフォルトの名無しさん
2017/03/21(火) 02:42:20.25ID:dRq3wtLU ここまで来て過去の莫大な資産を捨てることなんてあるの?
過去のwindowsアプリが新しいwindowsで動かなくなる日が来たら、それはもうwindowsじゃないと思う
過去のwindowsアプリが新しいwindowsで動かなくなる日が来たら、それはもうwindowsじゃないと思う
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
- (´・ω・`)おいそこ。そこの貴様だ。へらへらするな。
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
