Win32API質問箱 Build124

■ このスレッドは過去ログ倉庫に格納されています
2017/11/11(土) 19:23:00.69ID:TpLoCFAx
Win32APIについての質問はこちらへどうぞ。

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

■過去スレ
Win32API質問箱 Build123
http://mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
http://echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
http://echo.2ch.net/test/read.cgi/tech/1428570962/

■関連スレ
Visual Studio 2017 Part4
http://mevius.2ch.net/test/read.cgi/tech/1509244956/
【C++】 DirectX初心者質問スレ Part40 【C】
http://mevius.2ch.net/test/read.cgi/tech/1474782237/
2017/11/11(土) 19:26:38.85ID:TpLoCFAx
■番外編
WindowsDDK各種についてのスレ
http://mevius.2ch.net/test/read.cgi/tech/1049116134/
D言語 Part34
http://mevius.2ch.net/test/read.cgi/tech/1422155249/
Cygwin + MinGW + GCC 相談室 Part 8
http://mevius.2ch.net/test/read.cgi/tech/1411399211/
Borland Developer Studio 2006 No.13
http://mevius.2ch.net/test/read.cgi/tech/1175861395/
Borland C++ Compiler オ ワ タ
http://mevius.2ch.net/test/read.cgi/tech/1206951221/
2017/11/11(土) 19:28:04.05ID:TpLoCFAx
■ネイティブなやつとか
【GUI】wxWidgets(旧wxWindows) その5【サイザー】
http://mevius.2ch.net/test/read.cgi/tech/1270793556/
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18
http://mevius.2ch.net/test/read.cgi/tech/1488948543/
●●●●TCL/TKなら俺に聞け 4●●●●
http://mevius.2ch.net/test/read.cgi/tech/1375678740/
Gtkプログラミング on Windows!!!
http://mevius.2ch.net/test/read.cgi/tech/1147024203/
4デフォルトの名無しさん
垢版 |
2017/11/11(土) 19:29:50.88ID:TpLoCFAx
■需要あるかしらん
OpenGL 2.0 専用スレ
http://mevius.2ch.net/test/read.cgi/tech/1126268759/
OpenGL/Vulkanスレ Part22©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1440666771/
SDL=Simple DirectMedia Layerでゲームだ
http://mevius.2ch.net/test/read.cgi/tech/1103655588/
Google NaCl プログラミング 2mol
http://mevius.2ch.net/test/read.cgi/tech/1298614677/
【boot】nasm【loader】
http://mevius.2ch.net/test/read.cgi/tech/1377053129/
MASM32 - 選ばれし本物のプログラマ
http://mevius.2ch.net/test/read.cgi/tech/1348574727/
2017/11/11(土) 19:33:10.06ID:i7HL5TEm
>1 乙
6デフォルトの名無しさん
垢版 |
2017/11/11(土) 19:43:41.81ID:4LNBDgYy
いちもつ
2017/11/11(土) 20:47:03.12ID:yAvgRxQb
>>1
乙ですー
2017/11/12(日) 17:49:57.76ID:k+Q3OR2Q
>>1
9デフォルトの名無しさん
垢版 |
2017/11/12(日) 18:55:13.45ID:g8teYUTq
Win32API標準 のリストビュー(クラス名 SysListView32) 上のリストアイテムに対して、keybd_event()やmouse_event() を使わずに
プログラムからキー押下やクリックのイベントを起こすにはどうしたらよいですか。
2017/11/12(日) 19:03:29.37ID:hcIx1LXl
SendMessage(hLV, WM_LBUTTONDOWN, ...);
SendMessage(hLV, WM_LBUTTONUP, ...);
2017/11/12(日) 19:06:05.53ID:hcIx1LXl
LVM_ENSUREVISIBLE
LVM_GETITEMRECT
12デフォルトの名無しさん
垢版 |
2017/11/12(日) 19:25:07.33ID:g8teYUTq
>>10,11
スレの性質上、意味のない無駄な書き込みはやめてもらえますか。お願いします。
意味もなくAPI名やキーワードを羅列することは、情報が冗長になりスレの価値を下げることになります。
2017/11/12(日) 19:38:02.33ID:hcIx1LXl
>>9
LVM_ENSUREVISIBLEメッセージで、リストビューの項目を表示させる。
LVM_GETITEMRECTメッセージで、項目の位置を取得する。
取得した場所に対して、WM_LBUTTONDOWN/UPメッセージを呼ぶ。
2017/11/12(日) 19:59:30.69ID:yKCfx7dw
>>12
若いな
15デフォルトの名無しさん
垢版 |
2017/11/12(日) 20:17:24.65ID:g8teYUTq
>>13
リストビューにフォーカスがない状態でWM_LBUTTONDOWN/WM_LBUTTONUPを2回送信して、
ダブルクリックが仮想的に実行できるか試してみましたが、選択位置(フォーカスがないので灰色)が変わるだけで反応なしでした。
WM_LBUTTONDBLCLKだと灰色位置の変化もなし。
WM_LBUTTON*系のメッセージを使わない正規の方法があるかと思ったのですが、なさそうですね。
回答ありがとうございました。別の方法考えます。
2017/11/12(日) 20:19:35.68ID:hcIx1LXl
クライアント座標とスクリーン座標があって、クライアント座標系はウィンドウごとに場所が違うから注意が必要だ。
2017/11/12(日) 20:29:12.30ID:hcIx1LXl
http://forums.codeguru.com/showthread.php?415399-ListView-double-click-in-code-c
これが役に立つかも知れない。
2017/11/12(日) 20:43:32.51ID:hcIx1LXl
https://stackoverflow.com/questions/974722/send-a-double-click-to-a-listview-c-not-net
これはどうかな?
19デフォルトの名無しさん
垢版 |
2017/11/12(日) 21:45:52.37ID:g8teYUTq
>>18
当方、送信したい相手はdllから読み込んだ同一プロセス上のリストビューなので、GetWindowLongPtr(GWLP_WNDPROC)でイベントをフックして使った。
NM_DBLCLKイベント自体はフックしたプロシージャにちゃんと送られていることは確認できた。
NM_DBLCLKイベント送受信は成功したが、期待するダブルクリック時の振る舞いをしてくれないので、求めていた機能は成功していない状態。
これ以上はdll側の実装依存との格闘になるので、ここでの質問は終わらさせていただきます。
2017/11/12(日) 23:18:10.01ID:Kj+Cizk6
人工無能同士の会話みたい
2017/11/13(月) 12:36:22.40ID:Q60O1ghY
ダブルクリックには常に先行するシングルクリックがあるとか2回目のシングルクリックもあるとかちゃんとやってるよね
2017/11/13(月) 21:39:25.70ID:dnspAOl6
ダブルクリック処理面倒くさい
ドライバーレベルで峻別してくれないかな

ところでGetDoubleClickTime()にあわせてタイマーイベントすると
体感長く感じるんだがどう処理するのが正しいのかな
2017/11/14(火) 00:02:34.16ID:FWNbLyCJ
ブラウザゲームとかダブルクリック使わないので
ダブルクリックなしのUIに慣れてきている自分
2017/11/21(火) 18:35:19.43ID:t2ie3Fqr
Windows7などでタスクバー上の自身のアプリにマウスを置いたときに表示される
サムネイルを別の画像にしたいのですが、やり方やサンプルなどはありませんか?
2017/11/21(火) 18:57:28.67ID:IqvSRvvZ
ITaskbarList3
2017/11/22(水) 13:33:15.33ID:NgxFNsMl
エディットコントロールに値を手入力した後、フォーカスを失った時点で飛んでくるメッセージはありませんか?
エディットコントロールの値を、作業する直前に取り込む、という方法では、いろいろと不都合が出てきました。(たとえばレジストリへのバックアップなど)
27デフォルトの名無しさん
垢版 |
2017/11/22(水) 13:39:07.14ID:TZAtmSaI
あります
2017/11/22(水) 15:59:34.39ID:QYl/HC3N
EN_KILLFOCUS
2017/11/22(水) 17:44:14.54ID:NgxFNsMl
>>28
ありがとうございます。
強制的に、フォームに配置しているすべてのエディットコントロールへのフォーカスを失わせる方法はありますか?
関係ないコントロールにフォーカスを移す方法でもいいです
2017/11/22(水) 18:08:51.27ID:QYl/HC3N
フォーカスのあるコントロールにWM_KILLFOCUSを送信。
2017/11/22(水) 18:21:42.81ID:QYl/HC3N
SendMessage(GetFocus(), WM_KILLFOCUS, 0, 0);
2017/11/24(金) 13:46:55.30ID:HWVyDVmi
SetWindowHookExのグローバルフックってもう使えないのかな?
64bitと32bitのアプリケーションが混合してる世の中だけど
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況