Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build125
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/
■関連スレ
Visual Studio 2019 Part4 https://mevius.5ch.net/test/read.cgi/tech/1585715794/
Visual Studio 2017 Part7 https://mevius.5ch.net/test/read.cgi/tech/1558179898/
【C++】 DirectX初心者質問スレ Part41 【C】 https://mevius.5ch.net/test/read.cgi/tech/1521786252/
Win32API質問箱 Build126
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/05/01(金) 22:16:51.96ID:ZJ42fMZB139デフォルトの名無しさん
2020/05/16(土) 15:33:48.76ID:4LNE0T1O Z80は4bit CPUだとかw
140デフォルトの名無しさん
2020/05/17(日) 13:33:26.86ID:qdHuVgcd >>127
アオいいよね
アオいいよね
141デフォルトの名無しさん
2020/05/24(日) 10:26:06.68ID:aVoyeE00 >>138
昔から定義があいまいだしな
30年以上前はデータバス長で決めるのが主流だったと思う
なので68000は16ビットCPUと言われることが多かった
でも、68000は内部が32ビットだからと32ビットCPU扱いしてる本もあった
子供ながらに早く定義を確定させろよと思ってたな
昔から定義があいまいだしな
30年以上前はデータバス長で決めるのが主流だったと思う
なので68000は16ビットCPUと言われることが多かった
でも、68000は内部が32ビットだからと32ビットCPU扱いしてる本もあった
子供ながらに早く定義を確定させろよと思ってたな
142デフォルトの名無しさん
2020/05/24(日) 10:38:26.14ID:y84CPFUU 何ビットかで性能を判断しようってのが間違い
143デフォルトの名無しさん
2020/05/24(日) 11:08:07.08ID:9LKtIHkT MC68008なんかどうなるんだよw
144デフォルトの名無しさん
2020/05/24(日) 16:10:49.32ID:x8aMDsmm 8088だか8085だかもう忘れたが
146デフォルトの名無しさん
2020/05/24(日) 18:23:26.62ID:WIKh9/kk 8080 は周辺回路用に、8251 (USART)、8253 (CTC / PIT)、8255(PPI)
というファミリがあったんだ。
「CHIPSET」というものの走りか。
というファミリがあったんだ。
「CHIPSET」というものの走りか。
147デフォルトの名無しさん
2020/05/25(月) 11:49:32.24ID:xHeORMOB 64180やろ常考
148デフォルトの名無しさん
2020/05/26(火) 10:31:04.56ID:DUXfe990 ALUで一度に計算できるレジスタ長でいいんじゃないかね
149デフォルトの名無しさん
2020/05/26(火) 11:34:31.94ID:kYnyuVta ALU幅=レジスタ幅とは限らないのだが
150デフォルトの名無しさん
2020/05/26(火) 11:48:43.44ID:lk6wFY6w 100メガビットまだー?
151デフォルトの名無しさん
2020/05/26(火) 18:46:58.11ID:Be8LwKLh Project REUNION
このスレもまだまだ終わらんね
このスレもまだまだ終わらんね
152デフォルトの名無しさん
2020/05/26(火) 19:24:46.61ID:kaVJ2d4/ アドレス空間の広さという定義もあった
さらに仮想アドレスや実アドレスに物理的サイズ(アドレス線の数)とか
さらに仮想アドレスや実アドレスに物理的サイズ(アドレス線の数)とか
153デフォルトの名無しさん
2020/05/26(火) 20:41:32.11ID:tlZqmZqw Win32でなんでこの話かとは思うが、基本的に
どれでも頭打ってる最小のビットがNならNビットCPUだろ
アドレスバスが32ビットでも命令長が16ビットのしかできなければそれは16ビットCPUだ
どれでも頭打ってる最小のビットがNならNビットCPUだろ
アドレスバスが32ビットでも命令長が16ビットのしかできなければそれは16ビットCPUだ
154デフォルトの名無しさん
2020/05/27(水) 05:52:37.50ID:UfAFwj6f155デフォルトの名無しさん
2020/05/27(水) 06:45:53.85ID:l+od2Oe5 IA64「にやり」
156デフォルトの名無しさん
2020/05/27(水) 22:55:18.61ID:RaY0EJLW157デフォルトの名無しさん
2020/05/28(木) 05:57:08.15ID:CImYg+b8 Win32的にはexeヘッダのmagic#が10Bか20Bかだろ
>>151
我々の勝利と理解していいでしょうか?
我々の勝利と理解していいでしょうか?
159デフォルトの名無しさん
2020/05/30(土) 23:12:23.25ID:nvVsoyu6 Win32のカオスもたいがいだが、それを置き換えきれないドットネットもダメすぎる
160デフォルトの名無しさん
2020/05/31(日) 05:29:27.69ID:AV9N3TDc 何かしら新しいものを担ぎ上げたと思ったら梯外しを続けて屍累々だしね
泥林檎全盛時代モバイルWin大敗北という状況なのに、それでもUWPでバリバリ開発するぞってプログラマーなんて増えないだろ?と思ってたけど、この有様よ
>>158
我々の勝利でしょう
泥林檎全盛時代モバイルWin大敗北という状況なのに、それでもUWPでバリバリ開発するぞってプログラマーなんて増えないだろ?と思ってたけど、この有様よ
>>158
我々の勝利でしょう
161デフォルトの名無しさん
2020/05/31(日) 10:02:47.12ID:O94AXa21 EnumWindowsのコールバックの中でHWNDからEXEを割だそうとしてるんだけど
GWLP_HINSTANCEで取得したハンドルをGetModuleFileNameに渡してもうまくいかん
どうやんのコレ?
GWLP_HINSTANCEで取得したハンドルをGetModuleFileNameに渡してもうまくいかん
どうやんのコレ?
162蟻人間 ◆T6xkBnTXz7B0
2020/05/31(日) 10:08:17.82ID:w6MuXuh+ >>161
他のプロセスだと駄目だから、GetModuleFileNameEx使っちゃって。
https://github.com/katahiromz/WinHier/blob/master/WinHier/WinHier.cpp#L53
GetWindowThreadProcessId
他のプロセスだと駄目だから、GetModuleFileNameEx使っちゃって。
https://github.com/katahiromz/WinHier/blob/master/WinHier/WinHier.cpp#L53
GetWindowThreadProcessId
163デフォルトの名無しさん
2020/05/31(日) 10:12:13.98ID:2cTTa+6C 全然関係ないけど、この略であってる?
なんか Win32API って、略しまくってて一見さんお断りって感じ
GWLP
Get Window Long Pointer
HINSTANCE
Handle to the Instance
なんか Win32API って、略しまくってて一見さんお断りって感じ
GWLP
Get Window Long Pointer
HINSTANCE
Handle to the Instance
164デフォルトの名無しさん
2020/05/31(日) 10:23:14.96ID:xFqcIaF1 この略で書かれたオプションを使ってる関数名の略語なんだから別にこれは合理的だろ
GetWindowLongPtrAのオプションなのにEDH64_とかで始まってたら頭おかしいが
GetWindowLongPtrAのオプションなのにEDH64_とかで始まってたら頭おかしいが
165デフォルトの名無しさん
2020/05/31(日) 15:49:36.34ID:T8jWCE6M HINSTANCE はハンガリアン記法じゃね
166デフォルトの名無しさん
2020/05/31(日) 15:52:03.55ID:hHIdU/aR HRESULT って何の略だ?
167デフォルトの名無しさん
2020/05/31(日) 18:01:29.96ID:Q6VzjxFK 妊娠判定?
168デフォルトの名無しさん
2020/05/31(日) 18:08:14.04ID:G1/nv9Cn >>156
命令長の意味
命令長の意味
169デフォルトの名無しさん
2020/05/31(日) 19:56:38.10ID:wHFXVFT0 >>166
昔はエラー情報へのハンドル値だったとどこかで読んだ気が
昔はエラー情報へのハンドル値だったとどこかで読んだ気が
170デフォルトの名無しさん
2020/05/31(日) 20:45:34.27ID:ttbYfwVJ エラー情報ハンドルからエラー情報を取得するには関数を使います
171デフォルトの名無しさん
2020/06/01(月) 02:49:57.62ID:0GfvhwSl172デフォルトの名無しさん
2020/06/01(月) 03:35:25.53ID:cNH06St3 HEXもDECもなくてみんなBINだろ?
173デフォルトの名無しさん
2020/06/01(月) 07:10:51.50ID:1xzv2R8/174デフォルトの名無しさん
2020/06/01(月) 07:46:34.47ID:7+WAnHBR175デフォルトの名無しさん
2020/06/01(月) 10:19:00.27ID:GLKffah/ HFONT,HBRUSH,HDC,HPEN,etc
何でもかんでもハンドルとして扱ってるのに、HRESULTだけHEXかもなんて思うの?
何でもかんでもハンドルとして扱ってるのに、HRESULTだけHEXかもなんて思うの?
176デフォルトの名無しさん
2020/06/01(月) 10:51:47.09ID:INZFVYtf >>175
HEXと思うのはどうかと思うけど
> HFONT,HBRUSH,HDC,HPEN,etc
こいつらはハンドルだけどHRESULTの型はlongだし値もどう見てもハンドルじゃないからあーだこーだ言ってるんだろ
HEXと思うのはどうかと思うけど
> HFONT,HBRUSH,HDC,HPEN,etc
こいつらはハンドルだけどHRESULTの型はlongだし値もどう見てもハンドルじゃないからあーだこーだ言ってるんだろ
177デフォルトの名無しさん
2020/06/01(月) 11:03:16.80ID:17VfLqvo 通常voidだがエラーの場合は符号付きのlongにしてるだけ
実質型を隠蔽してハンドルとして扱うのは慣例みたいなもんだし、気にする必要は無い
実質型を隠蔽してハンドルとして扱うのは慣例みたいなもんだし、気にする必要は無い
178デフォルトの名無しさん
2020/06/01(月) 11:09:40.98ID:53c0ZhQ4 >>174
要は昔の仕組みが型名として残ってるだけだと
要は昔の仕組みが型名として残ってるだけだと
179デフォルトの名無しさん
2020/06/01(月) 11:51:23.63ID:OFgL6Ul1 >>174
それは昔の話、今は
The COM team decided that the cost/benefit simply wasn’t worth it, so the HRESULT turned into a simple number.
But the name stuck.
ってことだろ
それは昔の話、今は
The COM team decided that the cost/benefit simply wasn’t worth it, so the HRESULT turned into a simple number.
But the name stuck.
ってことだろ
180デフォルトの名無しさん
2020/06/01(月) 11:52:59.14ID:GfnKilSu181デフォルトの名無しさん
2020/06/01(月) 11:56:51.06ID:Lo4SeZQj >>173
だから意味不明な "interface not supported" とか返ってくるのか
Cだとエラー情報の領域管理が面倒なのはわかるけど固定で5個ぐらい持つとかやりようはあったと思うんだけどね
だから意味不明な "interface not supported" とか返ってくるのか
Cだとエラー情報の領域管理が面倒なのはわかるけど固定で5個ぐらい持つとかやりようはあったと思うんだけどね
182デフォルトの名無しさん
2020/06/01(月) 12:06:26.41ID:U4oPUiQG >>181
5個どこにもつわけ?
5個どこにもつわけ?
183デフォルトの名無しさん
2020/06/01(月) 17:38:12.77ID:JphI8rwQ >>176
bool なのに 0 と 1 と -1 とか帰ってくる API に何求めてんだ
bool なのに 0 と 1 と -1 とか帰ってくる API に何求めてんだ
184デフォルトの名無しさん
2020/06/01(月) 21:11:55.51ID:M7ivFsPk >>183
boolとBOOLをいっしょにすんなよ
boolとBOOLをいっしょにすんなよ
185デフォルトの名無しさん
2020/06/05(金) 13:41:09.29ID:D0XPmYCp186デフォルトの名無しさん
2020/06/05(金) 13:45:20.81ID:D0XPmYCp メイン関数です。
#include <iostream>
#include "WaveDeviceII.h"
int main() {
WaveDeviceII WD;
WD.Initialize(WAVE_MAPPER, NULL, CALLBACK_NULL , 8, 2, 8000);
}
#include <iostream>
#include "WaveDeviceII.h"
int main() {
WaveDeviceII WD;
WD.Initialize(WAVE_MAPPER, NULL, CALLBACK_NULL , 8, 2, 8000);
}
187デフォルトの名無しさん
2020/06/05(金) 13:49:29.22ID:D0XPmYCp The specified format is not supported or cannot be translated. Use the Capabilities function to determine the supported formats.
エラーです。
エラーです。
188デフォルトの名無しさん
2020/06/05(金) 14:23:44.24ID:WSRdRexs 失格
やり直し
やり直し
189デフォルトの名無しさん
2020/06/05(金) 17:48:01.41ID:9H09ckgd >>187
日本語でおk
日本語でおk
190デフォルトの名無しさん
2020/06/05(金) 18:41:24.19ID:+T3Zxd1w ここ Win32 API の質問箱なんですが、
WaveDeviceII とやらがなんなのかをノーヒントで推測する能力が求められてます…?
…そもそもリンク先見てないけど
WaveDeviceII とやらがなんなのかをノーヒントで推測する能力が求められてます…?
…そもそもリンク先見てないけど
191デフォルトの名無しさん
2020/06/05(金) 18:51:59.15ID:vzFsYnai 再生・録音デバイスの設定がおかしいか、ドライバの問題ではないかな
192デフォルトの名無しさん
2020/06/05(金) 19:58:06.58ID:D0XPmYCp193デフォルトの名無しさん
2020/06/05(金) 20:09:06.67ID:kzWGRm1w194デフォルトの名無しさん
2020/06/06(土) 19:05:08.37ID:XjfTk0ib 接続されているUSBメモリの名前ってどうすれば取得できますか?
ドライブレターではない名前で、メーカー名とかが含まれるやつです。
例:SONY、Transcend
ドライブレターではない名前で、メーカー名とかが含まれるやつです。
例:SONY、Transcend
195デフォルトの名無しさん
2020/06/06(土) 19:16:37.09ID:+UPi9lXq APIではないです
196デフォルトの名無しさん
2020/06/06(土) 20:36:45.83ID:gPrzX488 SetupDiEnumDeviceInfo でデバイス列挙してゴニョゴニョすればいいんでない?
197デフォルトの名無しさん
2020/06/06(土) 21:33:32.55ID:w46hHvus199194
2020/06/08(月) 14:05:55.87ID:yBr+unsS >>197のサイトで他にも色々な方法が載っていました。
USBデバイスやUSBハブの詳細情報を取得する
https://www.usefullcode.net/2007/02/usbusb.html
ドライブ名からデバイス情報を取得する
https://www.usefullcode.net/2007/02/post_48.html
ドライブ名からデバイス情報を取得する(DEVINST系
https://www.usefullcode.net/2007/02/devinst.html
ドライブのモデル名や接続I/F情報などを取得する
https://www.usefullcode.net/2007/02/if.html
自分は最後の方法でうまくいきました!
USBデバイスやUSBハブの詳細情報を取得する
https://www.usefullcode.net/2007/02/usbusb.html
ドライブ名からデバイス情報を取得する
https://www.usefullcode.net/2007/02/post_48.html
ドライブ名からデバイス情報を取得する(DEVINST系
https://www.usefullcode.net/2007/02/devinst.html
ドライブのモデル名や接続I/F情報などを取得する
https://www.usefullcode.net/2007/02/if.html
自分は最後の方法でうまくいきました!
200デフォルトの名無しさん
2020/06/08(月) 15:41:01.12ID:blut5LG8201デフォルトの名無しさん
2020/06/15(月) 19:04:01.61ID:tqTNgz/u GDI+のスレッドがないのでここで質問させていただきます。。
SetStretchBltMode(COLORONCOLOR)の描画をGDI+のDrawImage()でやろうと思ったら、
どのような指定をすればよいのでしょうか。
なにも指定しないままだと補間がかかってしまうのですが。
SetStretchBltMode(COLORONCOLOR)の描画をGDI+のDrawImage()でやろうと思ったら、
どのような指定をすればよいのでしょうか。
なにも指定しないままだと補間がかかってしまうのですが。
202デフォルトの名無しさん
2020/06/16(火) 10:12:05.07ID:Ho5qWxry203デフォルトの名無しさん
2020/06/16(火) 10:17:29.91ID:Ho5qWxry204デフォルトの名無しさん
2020/06/16(火) 17:03:02.58ID:i4a8GiUa 答えになってないように見えるけど
メモリコンテクスト相手にGDIで SetStretchBlt かけて出来上がったものを
GDI+ のDrawImage()に渡せということかしら
メモリコンテクスト相手にGDIで SetStretchBlt かけて出来上がったものを
GDI+ のDrawImage()に渡せということかしら
206デフォルトの名無しさん
2020/06/21(日) 18:02:55.24ID:kUjMwJEz USBカメラから静止画データ(ビットマップorPNG形式)を取得したいのですが、
やり方が分かる人がいたら教えて頂けないでしょうか。
言語はC/C++です。
DirectShowかMedia Foundationを使えば良いという所まで分かったのですが、
それから先に進めない状態です。
やり方が分かる人がいたら教えて頂けないでしょうか。
言語はC/C++です。
DirectShowかMedia Foundationを使えば良いという所まで分かったのですが、
それから先に進めない状態です。
207デフォルトの名無しさん
2020/06/21(日) 18:10:03.50ID:rRP2z2l8 APIでなきゃダメか?
OpenCV楽で良いぞ
OpenCV楽で良いぞ
208蟻人間 ◆T6xkBnTXz7B0
2020/06/21(日) 18:11:37.00ID:wd9zfOZU209206
2020/06/21(日) 18:52:33.53ID:kUjMwJEz210デフォルトの名無しさん
2020/06/21(日) 19:02:48.04ID:ZU8lvQ5O OpenCVはBSDライセンスだから商用でも使いやすい部類
211デフォルトの名無しさん
2020/06/21(日) 19:08:23.08ID:ZU8lvQ5O ソースコードのライセンスとは別に特許が絡むのね
>>210は無視して
>>210は無視して
212蟻人間 ◆T6xkBnTXz7B0
2020/06/21(日) 19:14:20.70ID:wd9zfOZU Video for Windows
213デフォルトの名無しさん
2020/06/21(日) 19:25:35.38ID:A5CNMF8H Media Foundation でキャプチャするならまずMSDNのドキュメントを読む
https://docs.microsoft.com/ja-jp/windows/win32/medfound/audio-video-capture
個人のブログなど
http://codeit.blog.fc2.com/blog-entry-5.html
OpenCVのカメラ入力はお手軽だけどあくまでもOpenCVのおまけだしな。
フォーマットが選べなかったり複数カメラのどれが何番かわからなかったり。
VfWなんていまさら論外。
https://docs.microsoft.com/ja-jp/windows/win32/medfound/audio-video-capture
個人のブログなど
http://codeit.blog.fc2.com/blog-entry-5.html
OpenCVのカメラ入力はお手軽だけどあくまでもOpenCVのおまけだしな。
フォーマットが選べなかったり複数カメラのどれが何番かわからなかったり。
VfWなんていまさら論外。
214206
2020/06/21(日) 19:29:16.51ID:kUjMwJEz >>212
Video for Windowsも検討したのですが、
かなり古いAPIみたいでいつまでサポートされるか不安だったので
DirectShowかMedia Foundationでいこうと考えていました。
Video for Windowsも検討したのですが、
かなり古いAPIみたいでいつまでサポートされるか不安だったので
DirectShowかMedia Foundationでいこうと考えていました。
215デフォルトの名無しさん
2020/06/21(日) 20:18:43.84ID:kUjMwJEz216デフォルトの名無しさん
2020/06/22(月) 16:35:28.76ID:JXDt+qCb 敢えて OpenCV 使わず Win32API VFW
http://k3tec.net/neko_wiki/index.php?%A3%D7%A3%E9%A3%EE%A3%B3%A3%B2%A3%C1%A3%D0%A3%C9%B9%D6%BA%C210%B2%F3
http://k3tec.net/neko_wiki/index.php?%A3%D7%A3%E9%A3%EE%A3%B3%A3%B2%A3%C1%A3%D0%A3%C9%B9%D6%BA%C210%B2%F3
217デフォルトの名無しさん
2020/06/22(月) 17:43:47.11ID:5/AaGMJP まぁ、やり方は色々あるよね
私だったらキャプチャするDirectShowのフィルターだけ作って
モニタ表示はフィルター構築できるプレーヤーに任せるかな
私だったらキャプチャするDirectShowのフィルターだけ作って
モニタ表示はフィルター構築できるプレーヤーに任せるかな
218デフォルトの名無しさん
2020/06/22(月) 18:52:56.68ID:JXDt+qCb219デフォルトの名無しさん
2020/06/22(月) 21:07:12.23ID:IQVBm2zv >>213の
http://codeit.blog.fc2.com/blog-entry-5.html
のサンプルを実行してみたのですが、
フォーマットがVFT_YUY2と表示されました。
ビットマップ、PNG、JPEGなど、画像ファイル形式に出力フォーマットを変更したいのですが分かる方はいないでしょうか。
MSDNを見ているのですが、動画キャプチャのサンプルはあるけど静止画が見つかりません。
(visual studio2010ラインタイムを消さないとSDKがインストール出来なくて苦戦した。)
http://codeit.blog.fc2.com/blog-entry-5.html
のサンプルを実行してみたのですが、
フォーマットがVFT_YUY2と表示されました。
ビットマップ、PNG、JPEGなど、画像ファイル形式に出力フォーマットを変更したいのですが分かる方はいないでしょうか。
MSDNを見ているのですが、動画キャプチャのサンプルはあるけど静止画が見つかりません。
(visual studio2010ラインタイムを消さないとSDKがインストール出来なくて苦戦した。)
220デフォルトの名無しさん
2020/06/22(月) 21:34:56.69ID:NxxL+RwQ そりゃカメラの出力フォーマットだな。ものによってはmpegやmjpegで出力できるカメラもあったりするが。
画像ファイルフォーマットの出力はWICとかを使うことになるだろうけど、そこへの並び替えはたぶん
自分でやるしかない。
画像ファイルフォーマットの出力はWICとかを使うことになるだろうけど、そこへの並び替えはたぶん
自分でやるしかない。
221デフォルトの名無しさん
2020/06/23(火) 09:37:14.54ID:4kHZmTBE >>219
OpenCV 使え
OpenCV 使え
222デフォルトの名無しさん
2020/06/23(火) 10:30:46.72ID:nxWi983E directshowとsamplegrabberでいいんじゃないの
qedit.h書き換え必要だった気もするけど
qedit.h書き換え必要だった気もするけど
223206
2020/06/24(水) 00:00:36.72ID:yIpXk3ZI https://docs.microsoft.com/ja-jp/windows/win32/medfound/mfcaptured3d-sample
このサンプルをよく見たら、動画を吸い出しているのではなくて、
静止画を1フレームずつ、RGB32フォーマットに変換して画面に表示しているだけみたいでした。
RGB32フォーマットならとりあえず、保存・表示が出来そうなので、
このサンプルを使って静止画をキャプチャする方針で進めようと思います。
回答してくれた方々、ありがとうございました。
このサンプルをよく見たら、動画を吸い出しているのではなくて、
静止画を1フレームずつ、RGB32フォーマットに変換して画面に表示しているだけみたいでした。
RGB32フォーマットならとりあえず、保存・表示が出来そうなので、
このサンプルを使って静止画をキャプチャする方針で進めようと思います。
回答してくれた方々、ありがとうございました。
224デフォルトの名無しさん
2020/06/24(水) 15:24:54.65ID:+Hp95Var CreateWindowにてトップウィンドウ生成時、WitdhとHeightを指定し更に子コントロールもメインフォームと同じWidthを指定して作成したらトップウィンドウ側の方が横幅が小さくなってしまいます
少し小さいとかではなく10、20は小さく作成されてしまいますが何かオプションが必要なのでしょうか?
少し小さいとかではなく10、20は小さく作成されてしまいますが何かオプションが必要なのでしょうか?
225蟻人間 ◆T6xkBnTXz7B0
2020/06/24(水) 15:57:41.27ID:SnGEO7rh >>224
トップウィンドウのスタイルと子コントロールのスタイルは何?
トップウィンドウのCreateWindowで指定するサイズはピクセル単位で外枠を含めたサイズ。
子コントロールの位置は、トップウィンドウの中のクライアント座標系で指定し、子コントロールのサイズはピクセル単位で子コントロールの外枠を含めたサイズ。
トップウィンドウでクライアント領域のサイズを指定したい場合はAdjustWindowRectEx関数を使用する。
トップウィンドウのスタイルと子コントロールのスタイルは何?
トップウィンドウのCreateWindowで指定するサイズはピクセル単位で外枠を含めたサイズ。
子コントロールの位置は、トップウィンドウの中のクライアント座標系で指定し、子コントロールのサイズはピクセル単位で子コントロールの外枠を含めたサイズ。
トップウィンドウでクライアント領域のサイズを指定したい場合はAdjustWindowRectEx関数を使用する。
226蟻人間 ◆T6xkBnTXz7B0
2020/06/24(水) 16:03:25.28ID:SnGEO7rh スクリーン座標とクライアント座標を相互に変換したい場合はMapWindowPointsかMapWindowRectを使用する。
227デフォルトの名無しさん
2020/06/24(水) 16:33:49.92ID:6+kkBVmV228デフォルトの名無しさん
2020/06/24(水) 16:55:15.52ID:+Hp95Var >>225
トップウィンドウはWS_OVERLAPPEDWINDOWで
子コントロールはコンボボックスでWS_CHILD | WS_VISIBLE | CBS_SORT | CBS_DROPDOWNLISTにしてあります
両者ともにWidthは200としていますが、明らかにトップウィンドウの方は200未満でおおよそ190あるかないかです
ちょっと調べてみたところWindows10だと左右7づつ縮むみたいな説もあるようですがそのせいなんでしょうか
トップウィンドウはWS_OVERLAPPEDWINDOWで
子コントロールはコンボボックスでWS_CHILD | WS_VISIBLE | CBS_SORT | CBS_DROPDOWNLISTにしてあります
両者ともにWidthは200としていますが、明らかにトップウィンドウの方は200未満でおおよそ190あるかないかです
ちょっと調べてみたところWindows10だと左右7づつ縮むみたいな説もあるようですがそのせいなんでしょうか
229デフォルトの名無しさん
2020/06/24(水) 18:08:11.67ID:irp07WaX230デフォルトの名無しさん
2020/06/24(水) 18:11:54.40ID:irp07WaX >>228
TopWindowのWidthは、枠を除いた部分のドット数ではなく、
枠まで含めたドット数。
だから、ChildWindowのWidthと同じに設定してしまったら、
必ずChildWindowが収まりきれなくて枠にクリッピングされてしまう。
TopWindowのWidthは、枠を除いた部分のドット数ではなく、
枠まで含めたドット数。
だから、ChildWindowのWidthと同じに設定してしまったら、
必ずChildWindowが収まりきれなくて枠にクリッピングされてしまう。
231デフォルトの名無しさん
2020/06/24(水) 18:46:35.78ID:+Hp95Var >>225>>230
rect.right = 200; rect.bottom = 200;でAdjustWindowRectEx(&rect, WS_OVERLAPPEDWINDOW, true, 0);
としたらWidthは216に変わり、その通りにWidth引数を216にしてみたら丁度良くなりました。
どうもありがとうございました。
rect.right = 200; rect.bottom = 200;でAdjustWindowRectEx(&rect, WS_OVERLAPPEDWINDOW, true, 0);
としたらWidthは216に変わり、その通りにWidth引数を216にしてみたら丁度良くなりました。
どうもありがとうございました。
232デフォルトの名無しさん
2020/06/25(木) 17:32:44.39ID:lHQabM2A ツールバーについてです
x86 コンパイルで意図通り動作するのですが、
同じソースを x64 コンパイルだと変になっちゃいます。
ツールバー作成時にTBSTYLE_TOOLTIPSを指定
TB_ADDBUTTONS メッセージでボタンを追加
その際の TBBUTTON の iString に文字列 char* を入れる
その後に TB_GETBUTTONTEXT でそのボタンの文字列を取得するのが
x86 → 正常に追加した文字列が取得できる。ツールバーにツールチップが表示される。(特に問題無)
x64 → 追加した文字列は取得できず、空文字列になる。ツールバーにツールチップが表示されない。
TB_ADDSTRING メッセージで事前に文字列を追加して
ボタン追加時の TBBUTTON の iString にインデックスを入れる形だと
x86 → 上記と同じ問題無く動作する。
x64 → 追加した文字列が取得できる。しかし、ツールバーにツールチップが表示されない。
という状況です。何かこちらの不備等があったりするのでしょうか?
それとも Windows のバグか何か?回避策等はあるのでしょうか?
WM_NOTIFY の TBN_GETINFOTIP を処理すればツールチップ表示は可能なのですが、
それ以外に方法は無いのかなと。
x86 コンパイルで意図通り動作するのですが、
同じソースを x64 コンパイルだと変になっちゃいます。
ツールバー作成時にTBSTYLE_TOOLTIPSを指定
TB_ADDBUTTONS メッセージでボタンを追加
その際の TBBUTTON の iString に文字列 char* を入れる
その後に TB_GETBUTTONTEXT でそのボタンの文字列を取得するのが
x86 → 正常に追加した文字列が取得できる。ツールバーにツールチップが表示される。(特に問題無)
x64 → 追加した文字列は取得できず、空文字列になる。ツールバーにツールチップが表示されない。
TB_ADDSTRING メッセージで事前に文字列を追加して
ボタン追加時の TBBUTTON の iString にインデックスを入れる形だと
x86 → 上記と同じ問題無く動作する。
x64 → 追加した文字列が取得できる。しかし、ツールバーにツールチップが表示されない。
という状況です。何かこちらの不備等があったりするのでしょうか?
それとも Windows のバグか何か?回避策等はあるのでしょうか?
WM_NOTIFY の TBN_GETINFOTIP を処理すればツールチップ表示は可能なのですが、
それ以外に方法は無いのかなと。
233蟻人間 ◆T6xkBnTXz7B0
2020/06/25(木) 17:48:21.56ID:CRgrEcBh234デフォルトの名無しさん
2020/06/25(木) 17:58:29.57ID:JNgE9Uo5 普通はTTN_GETDISPINFOかTTN_NEEDTEXTを処理するんじゃないの?
知らんけど
知らんけど
235232
2020/06/25(木) 18:12:29.19ID:lHQabM2A236232
2020/06/25(木) 19:13:37.19ID:lHQabM2A >>232 の件もう少ししらべてみたら間違いがあって
TB_ADDSTRING メッセージで事前に文字列を追加で
iString にインデックスを指定するやり方でも x64での
TB_GETBUTTONTEXT で文字列は取得できませんでした。
要するに、x64だとツールバーのボタンに文字列を結びつけるのが上手くいかない感じっぽいです
TB_ADDSTRING メッセージで事前に文字列を追加で
iString にインデックスを指定するやり方でも x64での
TB_GETBUTTONTEXT で文字列は取得できませんでした。
要するに、x64だとツールバーのボタンに文字列を結びつけるのが上手くいかない感じっぽいです
238デフォルトの名無しさん
2020/06/25(木) 20:32:52.64ID:N8mY4JDD アプリハンガリアンまで有害に見えてくる
システムハンガリアンの害毒は計り知れない
システムハンガリアンの害毒は計り知れない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 小川彩佳アナ「高市総理はここまで影響が出ることを想像して発言したんでしょうか」高市ソルジャー「!!!!(シュババババ)」 [931948549]
- 【悲報】おこめ券、9.5億円配布分のうち2.4億が経費、うちJAが1億円中抜き🤗高市ありがとう [359965264]
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
