Win32API質問箱 Build124

1デフォルトの名無しさん 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/

164デフォルトの名無しさん2018/01/23(火) 03:11:18.71ID:vxISVnp8
TeX使え

165デフォルトの名無しさん2018/01/23(火) 09:23:53.86ID:8Xy2PdTe
Acrobat Readerは、MSゴシックやMS明朝で画面上の表示が小さいときも
ビットマップフォントは使われないようですし、
やはりビットマップフォントよりも綺麗に見えるので、
これと同じような描画ができないかと思った次第です。
もちろん、AdobeがGDIだけで描いているとは思ってませんが。

166デフォルトの名無しさん2018/01/23(火) 11:56:46.96ID:YgQfJm1f
Instructs the font mapper to choose from only TrueType fonts.

167デフォルトの名無しさん2018/01/23(火) 12:41:24.18ID:Q06yU05c
AdobeはBGRに対応してなくて糞

168デフォルトの名無しさん2018/01/24(水) 16:35:20.95ID:yxm2qYfd
文字コード総合スレ Part11
http://mevius.2ch.net/test/read.cgi/tech/1516629503/

169デフォルトの名無しさん2018/01/30(火) 17:55:13.46ID:SJob4Z7Y
win32api直接叩いてるんですけど、タブオーダーってどうやって設定されるんですか?
多分 CreateWindow 呼んでコントロールを作った順番そのままだと思うんですが、
なんかTABキー押してもフォーカスが移動しないんです

170デフォルトの名無しさん2018/01/30(火) 18:02:35.67ID:h2qX+tcO
モーダルダイアログじゃないと動かないよ

171片山博文MZ ◆T6xkBnTXz7B0 2018/01/30(火) 18:09:59.30ID:XXEBAVhR
モードレスの場合は、メッセージループにIsDialogMessage呼び出しが必要。

172デフォルトの名無しさん2018/01/30(火) 18:19:21.99ID:FAoT3aWr
タブキー押されたらsetfocus

173デフォルトの名無しさん2018/01/30(火) 18:29:42.34ID:SJob4Z7Y
ああー
助かりました
IsDialogMessage でうまくいきました。
余談ですが CreateWindow の呼び出し順とは逆に移動するんですね。
Z手前から奥に向かって移動する感じですかね。
とりあえず後はどうにかなりそうです

174デフォルトの名無しさん2018/01/30(火) 21:54:44.90ID:fLRARGcM
プリプロセッサマクロ値 "_MSC_VER" を知る方法はありませんか?
cuda 9.1 提供のヘッダの #error が反応してしまいます

175デフォルトの名無しさん2018/01/30(火) 22:09:19.27ID:Z73Qxpjd
は?
printfでもしてみればいいだろ

176デフォルトの名無しさん2018/01/30(火) 22:36:28.87ID:5Yx/uuQb
VS2008でも使ってるのか?

177 ◆QZaw55cn4c 2018/01/30(火) 23:33:34.49ID:fLRARGcM
>>175
ありがとうございます、なるほど!
現時点の最新は _MSC_VER = 1912 でまだ cuda が追従できていないようです
https://devtalk.nvidia.com/default/topic/1022648/cuda-9-unsupported-visual-studio-version-error/

178デフォルトの名無しさん2018/01/31(水) 01:14:49.25ID:IFJhRfmg
ズコー

179デフォルトの名無しさん2018/02/02(金) 22:47:25.95ID:0FY9q5SB
dll間でデータを共有するのはdata_segでできるけど
dllAで動的確保したデータ(クラスでメンバ関数有り)をdllBでも使えるようにするには
マッピング以外に何がある?

180デフォルトの名無しさん2018/02/02(金) 23:33:47.71ID:3zbIMbyp
ふつうにポインタ渡せばいいんじゃね?もちろんクラスの定義は一致している前提だけど。

181デフォルトの名無しさん2018/02/03(土) 09:27:06.89ID:KnnmFvy8
ごめんdllA, dllBって書いたけど間違い

正しくはexeAとexeBが同じdllを使ってる状況で
exeAで動的確保して初期化もしたクラス(メンバ関数有り)をexeBのdllでも使いたいんだ

182デフォルトの名無しさん2018/02/03(土) 09:40:28.84ID:qWVkS+Es
ふつうにポインタをdata_segに置くが

183デフォルトの名無しさん2018/02/03(土) 10:55:22.08ID:FhluCmMv
プロセス間で共有したいんだろ?
共有メモリでもなんでも使ってデータ本体を保管
データ本体にアクセスするクラスを作ってそれはプロセス内でのみ利用すりゃいい
要はクラスそのものはプロセス間で利用しようと考えない

184デフォルトの名無しさん2018/02/03(土) 15:00:03.34ID:KnnmFvy8
>>182
それだとメンバ関数実行でexeBのdllが異常終了する

>>183
やっぱそういうのしかないんかな
ありがとう

185デフォルトの名無しさん2018/02/03(土) 15:12:28.48ID:Pk3rL+mD
クラスにnew と new[] 定義すればエラーにならないでしょ?

186デフォルトの名無しさん2018/02/08(木) 23:07:42.59ID:C1oz7nNF
Windowsがシャットダウンした時刻を記録したいんだけど、
1秒おきにファイルに時刻を書き込み続けるしかないかね?

187デフォルトの名無しさん2018/02/08(木) 23:27:36.93ID:UuuqIveG
カーネルエラーで落ちたのでなければイベントログにシャットダウン時刻が書いてあるはずだが

188デフォルトの名無しさん2018/02/08(木) 23:53:21.80ID:PXTihGAK
VS2015とVS2017のsplitpathがMBCS対応してないんだけどどういうこと?

189デフォルトの名無しさん2018/02/09(金) 02:23:09.51ID:E+KPBbPo
>>186
イベントログの他には
WM_QUERYENDSESSION
WM_ENDSESSION
WM_POWERBROADCAST

190デフォルトの名無しさん2018/02/09(金) 03:30:07.89ID:dI/VZTKe
初歩的な内容で申し訳ないのですが、、、

親ウィンドウと子ウィンドウがあります。
子ウィンドウは自分でCreateWindow()を使い、親のウィンドウハンドルを指定して作っています。

そこで質問ですが、親ウィンドウでWM_DESTROYを処理する際に、子ウィンドウに対して
明示的にDestroyWindow()を一々実行する必要はありますか?
自分としては子ウィンドウは親の破棄に伴って暗黙のうちに破棄されると勝手に解釈しているのですが、
間違いがあればご指摘ください。

191デフォルトの名無しさん2018/02/09(金) 04:33:00.77ID:dI/VZTKe
確認不足でした。
DestroyWindowをしなくてもちゃんと破棄されていましたね。
WM_DESTROYが来ていました。
すみませんでした。

192デフォルトの名無しさん2018/02/09(金) 07:08:12.16ID:h2mjWzgv
わかればよろしい

193デフォルトの名無しさん2018/02/13(火) 21:23:21.68ID:KbLCHvlc
ウィンドウサイズが変更禁止されているウィンドウを強制的にサイズ変更する方法を教えてください

194デフォルトの名無しさん2018/02/13(火) 21:29:53.35ID:RAq02Plv
聞く前にとりあえずあっちのスレの>>134をやったらどうだ?

195片山博文MZ ◆T6xkBnTXz7B0 2018/02/14(水) 14:48:35.52ID:634XtcmA
http://katahiromz.web.fc2.com/re/ja
https://github.com/katahiromz/RisohEditor
リソーエディタ、一応完成したから、使ってやってな。無料。

196片山博文MZ ◆T6xkBnTXz7B0 2018/02/14(水) 15:06:14.81ID:634XtcmA
>>195
電子署名付けろよ、ばーか

197片山博文MZ ◆T6xkBnTXz7B0 2018/02/14(水) 15:07:22.57ID:634XtcmA
>>195
電子産廃を作らないで下さい

198片山博文MZ ◆T6xkBnTXz7B0 2018/02/14(水) 15:14:32.79ID:634XtcmA
>>195
チョコもらわないで、何作ってんだよ、ヒマジン。

ネトウヨ超きも。

199片山博文MZ ◆T6xkBnTXz7B0 2018/02/14(水) 15:15:29.03ID:634XtcmA
Wwwwwwwwww

受けるw

200片山博文MZ ◆T6xkBnTXz7B0 2018/02/14(水) 15:29:58.12ID:634XtcmA
>>196-199
おまいら全員、逝ってよし。

201デフォルトの名無しさん2018/02/20(火) 18:27:56.31ID:zJihYzXI
ツリービューに対してTVS_DISABLEDRAGDROPを設定してるのに、
右ドラッグをするとTVN_BEGINRDRAGが発生するのは仕様なのでしょうか。

しかもそのまま右ドラッグ操作をすると、
TVS_DISABLEDRAGDROPを設定していないときの左ドラッグと同じように、
選択位置が元に戻ってしまい、とても格好悪い動きになります。

左右どちらもドラッグ操作を無効にしたい場合、
左はTVS_DISABLEDRAGDROPで、右は自力でという変な方法しかないのでしょうか。
それとも、なにか他にスタイルがあるのでしょうか。

202デフォルトの名無しさん2018/02/22(木) 08:18:20.63ID:VsrLFn20
モーダルダイアログの子ウィンドウとしてモードレスダイアログを使用している場合
モードレスダイアログをキー操作するにはどうすればいいですか?
IsDialogMessageでメッセージを捕捉できません
そもそもメッセージが発生しません

203デフォルトの名無しさん2018/02/22(木) 09:20:57.85ID:iVztdi8j
親に全部メッセージ来てないか

204デフォルトの名無しさん2018/02/22(木) 09:55:46.39ID:VsrLFn20
試しに
モーダルダイアログ(親)のPushButtonAと
モードレスダイアログ(子)のPushButtonBを同じコントロールIDにしてみましたが
ボタンBのメッセージは子にしか来ていませんでした

205デフォルトの名無しさん2018/02/22(木) 10:21:48.34ID:iVztdi8j
ああ、キー操作ね・・・・

親もモードレスにしてメッセージループ回せばいいんじゃないかな
なお、Enterは(略

206デフォルトの名無しさん2018/02/22(木) 10:44:51.48ID:cQEFrnWP
キー操作ならDS_CONTROLをつければすべて自動でやってくれる。

207デフォルトの名無しさん2018/02/22(木) 12:18:08.54ID:VsrLFn20
ありがとうございます
親はモーダルダイアログ固定でお願いします

子にDS_CONTROLスタイルを追加で操作はできるようになりましたが
ボタン1 ボタン2
この状態でボタン2で方向キー右を押したらボタン1がアクティブに
ボタン1で方向キー左を押したらボタン2がアクティブになるようにできませんか?

今の状態だとボタン1で左やボタン2で右を押すと親ダイアログのコントロールにフォーカスがうつってしまいます

208デフォルトの名無しさん2018/02/22(木) 12:31:01.78ID:VsrLFn20
補足です
ボタン1にWS_GROUPは追加してあります

2092062018/02/22(木) 13:12:13.54ID:cQEFrnWP
WS_EX_CONTROLPARENT もつけてみてください。

210デフォルトの名無しさん2018/02/22(木) 13:52:52.23ID:VsrLFn20
ありがとうございます
親に追加したら親のコントロールから子のコントロールへ移動ができるようにはなりましたが
>>207の状況は変化無しでした

ボタン1 -> ボタン2 -> 親のコントロール ではなく
ボタン1 -> ボタン2 -> ボタン1 -> ボタン2 のようにフォーカス移動させられませんか?

2112062018/02/22(木) 14:00:44.86ID:cQEFrnWP
親だけでなく子ダイアログにもつけてください。

212デフォルトの名無しさん2018/02/22(木) 14:40:26.34ID:VsrLFn20
ありがとうございます
やっぱりダメでした

213デフォルトの名無しさん2018/02/22(木) 15:28:49.61ID:McDcHlyx
>>210
ボタン2の次にフォーカスが来るコントロール(親ダイアログ側)にも
WS_GROUPを付ければよいのでは

214デフォルトの名無しさん2018/02/22(木) 16:27:58.24ID:VsrLFn20
ありがとうございます

WS_GROUPを追加するとグループ開始で次のWS_GROUPが見つかるとそれ以降は別グループの繰り返しですよね
同ダイアログ内では問題無いですが
今回の条件では親コントロールに追加していてもフォーカスが親コントロールにうつってしまいます

新着レスの表示
レスを投稿する