トップページ⇒tech
1001コメント277KB

Win32API質問箱 Build27

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん05/01/19 11:51:59
- 過去スレ
Build26:http://pc5.2ch.net/test/read.cgi/tech/1104109858/
Build25:http://pc5.2ch.net/test/read.cgi/tech/1101393155/
Build24:http://pc5.2ch.net/test/read.cgi/tech/1098967135/
Build23:http://pc5.2ch.net/test/read.cgi/tech/1095534704/
Build22:http://pc5.2ch.net/test/read.cgi/tech/1092524669/
Build21:http://pc5.2ch.net/test/read.cgi/tech/1090422324/
Build20:http://pc5.2ch.net/test/read.cgi/tech/1088140233/
Build19:http://pc5.2ch.net/test/read.cgi/tech/1084697545/
Build18:http://pc5.2ch.net/test/read.cgi/tech/1081702990/
Build17:http://pc5.2ch.net/test/read.cgi/tech/1077470361/
Build16:http://pc2.2ch.net/test/read.cgi/tech/1073830065/ ★
Build15:http://pc2.2ch.net/test/read.cgi/tech/1069339866/ ★
Build14:http://pc5.2ch.net/tech/kako/1065/10653/1065328397.html
Build13:http://pc5.2ch.net/tech/kako/1059/10595/1059549320.html
Build12:http://pc5.2ch.net/tech/kako/1056/10560/1056033645.html
Build11:http://pc5.2ch.net/tech/kako/1052/10526/1052651750.html
Build10:http://pc5.2ch.net/tech/kako/1047/10478/1047819779.html
Build9:http://pc5.2ch.net/tech/kako/1044/10449/1044929160.html
Build8:http://pc5.2ch.net/tech/kako/1040/10409/1040964626.html
Build7:http://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
Build6:http://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
Build5:http://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
Build4:http://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
Build3:http://pc.2ch.net/tech/kako/1017/10170/1017072275.html
Build2:http://pc.2ch.net/tech/kako/1006/10067/1006783012.html
Build1:http://pc.2ch.net/tech/kako/991/991576947.html
(★は「いやー ごめんなさい。」に巻き込まれた模様
0153デフォルトの名無しさん05/01/24 01:25:32
デジャブ
0154デフォルトの名無しさん05/01/24 01:29:50
>>152
わかりました、サンプルを色々見て勉強します。
ありがとうございました。
0155デフォルトの名無しさん05/01/24 02:07:10
普通はIDBに変換して32ビットでアクセスが早いです
0156デフォルトの名無しさん05/01/24 08:39:40
>150
エロ画像★
0157デフォルトの名無しさん05/01/24 19:12:38
仕事でWinAPIを使ってアプリを作成する時に
膨大な数のAPIをどのように検索して使用するのが一般的ですか?
本とかWebサイトとかいろいろ方法はあると思うのですが、
皆さんは仕事で、どのようにAPIの使用方法を調べて使ってるんでしょうか?
0158デフォルトの名無しさん05/01/24 19:35:12
MSDN
0159デフォルトの名無しさん05/01/24 19:51:41
>>158

なるほど、言われてみればそうですよね・・・
つまらない質問してすいませんでした
0160デフォルトの名無しさん05/01/24 20:25:44
ポップアップメニュー上で左/右クリックしたときに、そこが選択不能の項目
だったら特別な処理を行いたいと思ってます。

いまいち方法が思いつかないのですが、たとえばポップアップメニューが
表示されているかを調べるようなことはできるでしょうか。あるいは、マウス
カーソルの下がメニューかどうかを調べる方法とか…?

アイデア、ヒントなどありましたらご教授ください。
0161デフォルトの名無しさん05/01/24 20:31:15
選択不能の項目ってグレイになってるメニューのこと?
0162デフォルトの名無しさん05/01/24 20:32:41
>157
古くて不完全な情報なら英語winhelp形式のWin32 reference manualを見る。直接リンクはできないけどwinehqあたりで入手できる
0163デフォルトの名無しさん05/01/24 20:34:27
>160
WM_BEGINPOPUP~
016416005/01/24 20:43:24
>>161
そうです。
それを判別する方法も今悩み中なんですが…

>>163
ありがとうございます。
"WM_BEGINPOPUP"のあとに何かの単語が続くということでしょうか。
MSDNやGoogleで検索してみましたが、見つけられませんでした。
もう少しだけヒントをいただけないでしょうか。


環境を書いていませんでした。Win2K/BorlandC++ 5.5 です。
0165デフォルトの名無しさん05/01/24 20:50:23
>163
間違えた。
WM_MENUSELECT
GetMenuState
0166デフォルトの名無しさん05/01/24 21:27:32
>>157
PlatformSDK
副読本として>>162の日本語版(BCBに付属)
0167デフォルトの名無しさん05/01/24 21:31:01
CreateWindowEx でタイトルバーの無いウインドウをつくるには
dwExStyle と dwStyle の引数に何を渡せばいいですか?
0168デフォルトの名無しさん05/01/24 21:40:23
>167
CreateWindow#WS_*の解説を読めば分かるはずだ
0169デフォルトの名無しさん05/01/24 21:42:02
dwStyle &= ~WS_CAPTION;
017016005/01/24 21:47:49
>>165
ありがとうございます。
マウスで選択したタイミングで飛んでくるのでちょっと考えてしまいましたが、
なんとか意図したように実装することが出来ました。
0171デフォルトの名無しさん05/01/24 21:47:55
"~"はなんだ?
017216705/01/24 21:52:04
>>168-169
ありがとうございます。
でもダメポ・・・

DWORD dwExStyle = 0;
DWORD dwStyle = 0;

dwStyle &= ~WS_CAPTION;

hwnd = CreateWindowEx(dwExStyle, szAppName, "unko", dwStyle,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL);
0173デフォルトの名無しさん05/01/24 21:53:48
間違って悪かった。自分が作った拡張APIと混同していた
0174デフォルトの名無しさん05/01/24 21:55:57
C C++ VC++とかありますが、
VC++というのは
WindowsSDKやMFCを使ったプログラミングがこれに当たるんですか?
0175デフォルトの名無しさん05/01/24 21:56:45
>>171
アフォですか?
0176デフォルトの名無しさん05/01/24 21:58:10
>>174
そんなことはない
0177デフォルトの名無しさん05/01/24 22:05:36
なんで、C/C++ と VCが同列に扱われるんだ?
まずそこんとこ教えてくれ。
0178デフォルトの名無しさん05/01/24 22:18:15
VCの本とか見ると、コンソールアプリ=C/C++、GUIアプリ=VC++って書き方の本がある(こういう本は買わないけど)
ネットでも、そういう感じの書き方は多いし、GUIアプリ勉強したての友人が得意げに「VisualC言語」って連呼してくる

クセの強い方言持ってるから、言語と言えなくも無いけどね(とか言ってみる)
0179デフォルトの名無しさん05/01/24 22:36:49
Microsoft Visual C++ .NET 2003 は、C++ 開発言語を使用して
Microsoft Windows ベースのアプリケーション、
Microsoft .NET ベースのアプリケーション、
ダイナミックな Web アプリケーション、
および XML Web サービスを作成するための強力なツールです。
0180デフォルトの名無しさん05/01/24 22:38:04
>>172
WS_POPUPベースで必要なスタイル足せ。
0181デフォルトの名無しさん05/01/24 22:55:02
>>172
CreateWindowの時はWS_OVERLAPPEDWINDOWで作って
あとからキャプション外す。
dwStyle = GetWindowLong(hWnd, GWL_STYLE);
dwStyle &= ~WS_CAPTION;
SetWindowLong(hWnd, GWL_STYLE, dwStyle);
0182デフォルトの名無しさん05/01/24 23:13:11
http://pc5.2ch.net/test/read.cgi/tech/1106403600/257 で質問しましたが、
誘導されたのでこちらで質問します.

現在gcc(Linux上)を使って作ったプログラムをWindowsのVC6.0(?)でコンパイルしようとしてます.

コマンドラインオプションの処理で,gccのunistd.hにあるgetopt()を使ってるんですが,
どうやらVCには無いようです.VCで代わりになるようなものってありませんか?
いちいち組まないといかんのですかね?

それから
LinuxとWindows,共通に使えるMakefileの書き方についての情報(HP等)がございましたらお教えください.
いちいち変更するより1つで済めばとても素敵なんです.
0183デフォルトの名無しさん05/01/24 23:21:51
LinuxとWindows,共通とか考えてるなら、Win32APIは除外するだろ普通
0184C言語なら俺に聞けスレの25705/01/24 23:28:53
>182
だからおまいは俺かYO!
勝手に書き込むなっつうの

>183
そう思ってC言語なら俺に…スレに書いたんすけどね.
すんません.もう一人の俺(?)が勝手に…
0185デフォルトの名無しさん05/01/24 23:29:28
>182
交通事故解決のため終了
0186デフォルトの名無しさん05/01/25 01:55:00
ここはいつからVCのスレになったんでしょうかね?
0187デフォルトの名無しさん05/01/25 01:56:45
じゃぁ、bccかgccの質問でもしようか。
0188デフォルトの名無しさん05/01/25 02:00:12
ウンコな質問にしとけ
0189デフォルトの名無しさん05/01/25 07:12:36
>>183
それが最近はそうでもないんだなー
0190デフォルトの名無しさん05/01/25 08:43:20
typedef void (__closure *METHOD_PTR)(void);
void sage(void);
METHOD_PTR hoge;

hogeにsage関数のポインタを代入したいのですができますか?
0191デフォルトの名無しさん05/01/25 08:46:12
できますよ
hoge=(METHOD_PTR)sage
0192デフォルトの名無しさん05/01/25 09:13:58
>>191
>エラー E2031 xx.cpp 8: 'void (*)()' から 'void (* (_closure )())()' へのキャストはできない(関数 main() )
と出てコンパイルできませんでした><

#include <stdio.h>

typedef void (__closure *METHOD_PTR)(void);
void sage(void) { printf(" test "); }

main() {
METHOD_PTR hoge;
hoge = (METHOD_PTR)sage;
hoge();
}
0193デフォルトの名無しさん05/01/25 09:37:47
そこら辺に落ちてるフリーのバイナリエディタとかって
1バイトごとに空白入ってるけど空白にキャレットが移動しませんよね?
あれってどうやればできるんですか?
0194デフォルトの名無しさん05/01/25 09:54:16
SetCaretPos
0195デフォルトの名無しさん05/01/25 17:02:44
ツールバーを設置すると、TextOutなどで表示する時、
ツールバーの領域も含めた位置になってしまいます。
差し引いた分の位置に表示したいのですが、
表示する度にツールバーの幅分を足さなくても、
自動で計算してくれるやり方を教えてください。
0196デフォルトの名無しさん05/01/25 17:04:52
日本語を学ぶ
0197デフォルトの名無しさん05/01/25 17:07:25
>>195
初めからツールバーの幅を見越して位置を指定しろ。
0198デフォルトの名無しさん05/01/25 17:08:24
>>195
子ウィンドウ作って、ツールバーと重ならないように配置しろ
019919505/01/25 17:10:01
>>196
おかしな文章ですいません。

>>197
それしかないんですかね。猫でもそうしているようですし。
ウィンドウの名前の部分は、自動で差し引いているようなので、
似たような物があるのかなと思ったのですが。
020019505/01/25 17:11:38
>>198
調べてやってみます。
0201デフォルトの名無しさん05/01/25 17:24:44
>199
SetWindowOrgEx,SetViewportOrgEx

国内人材は有限だ。企業外の教育システムを見直して、猫が猿を教える状況をどうにかしろ!
何で無職が在職を教えねばならんのだ!
020219505/01/25 17:39:30
>>201
できました。ありがとうございました。
0203デフォルトの名無しさん05/01/25 17:58:42
こんにちは。

InvalidateRectで、更新する領域を指定しますが、
その指定した領域を取り出す方法はありますか?

もちろん、こちら側で指定したRect領域ですから、自分が知ってて当然なので取り出す必要はないのはわかってますが、
システム側に登録されている更新領域を知りたいのです。
Get〜みたいな関数は用意されていないのでしょうか?

ご返答いただけると助かります。
0204デフォルトの名無しさん05/01/25 18:01:49
GetUpdateRect/Rgn
0205デフォルトの名無しさん05/01/25 18:31:43
リッチエディットコントロールの基本フォント?を変更しようと
親ウインドウのWM_CREATEにて
SendMessage(hWnd, EM_SETCHARFORMAT, 0, lpCharformat)
のような感じでフォントを変更してみましたが、変更したコントロールに文字(直接入力)を打ち込むと
変更されていない状態で入力されてしまいます。

そのまま日本語入力に切り替えて、何か打ち込むと指定したフォントで入力され、
また直接入力に切り替えて入力すると、フォントの変更が有効?になり、最初とは違うフォントで入力されてしまいます。

リッチエディットやフォントの使用法に誤りがあると思うのですが、どうしてもよくわかりません。
ご教授をお願いいします。(´・ω・`)
0206デフォルトの名無しさん05/01/25 19:52:04
>205
確か
SetWindowFont@<windowsx.h>
か段落書式を設定だったかな
0207デフォルトの名無しさん05/01/25 19:53:15
wParamに何か入れれば良さそうも気がするが、試したことないので責任はもたぬ
0208デフォルトの名無しさん05/01/25 20:24:35
>>205
> SendMessage(hWnd, EM_SETCHARFORMAT, 0, lpCharformat)

の hWnd はリッチエディットコントロールのウィンドウハンドルになってる?
0209デフォルトの名無しさん05/01/25 21:08:45
>>205
よくわからんけどアプリケーション初期のときに
InitCommonControlsEx で新しめのRichEditを要求しといて、
SendMessageのwParamにはちゃんとSCF_DEFAULTを渡せばいいんじゃない?
0210デフォルトの名無しさん05/01/25 21:53:05
EM_SETCHARFORMATはバグ持ちだった気がする
0211デフォルトの名無しさん05/01/26 02:16:33
> ご教授をお願いいします。(´・ω・`)

ご教示、だよな。
0212デフォルトの名無しさん05/01/26 02:32:38
>211
http://dictionary.goo.ne.jp/search.php?MT=%B6%B5%BC%F8&kind=&mode=0&jn.x=26&jn.y=12
0213デフォルトの名無しさん05/01/26 03:31:23
>>211
プ
0214デフォルトの名無しさん05/01/26 03:41:07
>>205,211-213
http://www.tt.rim.or.jp/~rudyard/torii009.html

>>211が正解。>>212,213は痛い。
0215デフォルトの名無しさん05/01/26 04:41:29
localtime, timeに相当するWin32APIは何になるのでしょうか。
今日の日付を"2005/01/26"のような文字列に変換したいのですが。
0216デフォルトの名無しさん05/01/26 05:24:54
GetLocalTime() を使う。


#include <windows.h>
#include <stdio.h>

int main()
{
SYSTEMTIME st;
GetLocalTime(&st);
printf("%4d/%2d/%2d %2d:%2d:%2d.%03d\n", st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wMinute, st.wMilliseconds);
puts("Hit Any Key.");
getchar();
return 0;
}
0217デフォルトの名無しさん05/01/26 07:12:36
全角の文字を含む文字列をlstrlenすると正しい文字数が返ってこないことがあります。
どうすればよいでしょうか?
0218デフォルトの名無しさん05/01/26 07:23:57
きょうじゅ(ケウジュ)【教授】
1 ―する 学問・技芸を一定の順序で教える△こと(人)。
用例・作例
個人―・出張―・―料
2  〔大学や高等専門学校などで〕教育や研究に従事する人の中で、最上の職階。
用例・作例
―会・名誉―

別に「ご教授ください」でもおかしくない。
0219デフォルトの名無しさん05/01/26 07:25:06
他スレでも教授にたてついてる奴いたけど同じ奴だろうな。
痛い痛い・・・
0220デフォルトの名無しさん05/01/26 07:27:51
>>214
つか、そのリンク先はなんか意味あるの?
ただの個人の基地外野郎のサイトにしか見えないんだけど。
引用するときは信頼できるソースを頼むよ。
0221デフォルトの名無しさん05/01/26 07:34:36
>217
#define UNICODE
0222デフォルトの名無しさん05/01/26 07:52:40
>219
人の論文を盗む教授なんて殺しても良いんだよ
0223デフォルトの名無しさん05/01/26 07:54:13
>219
人違いだ。ID見ろ、ぼけ
0224デフォルトの名無しさん05/01/26 09:01:17
>>216
いたたたた……
0225デフォルトの名無しさん05/01/26 09:29:35
>216
SYSTEMTIMEの解説読め
0226デフォルトの名無しさん05/01/26 10:16:49
ファイルc:\foo.txtがあってExplorerから右クリックしたときのコンテキストメニューを
自前のプログラムから表示させるのってどうやるの?
0227デフォルトの名無しさん05/01/26 11:58:50
>>226
こんなん?英語の資料しか知らんし、自分では試してもいないけど・・・
ttp://www.codeguru.com/Cpp/COM-Tech/shell/article.php/c4505/
0228デフォルトの名無しさん05/01/26 12:15:45
>>223 (°Д°)ハァ? 何処にIDが?
0229デフォルトの名無しさん05/01/26 14:01:27
↑
IDの見方知らない人
0230デフォルトの名無しさん05/01/26 14:05:18
そうだな、見えないやつはアフォだし。
0231wonapi05/01/26 15:39:28
WinDDK, VDM, UN*X/Linux dev, BTRON dev, syscallのいずれかに詳しい人連絡下さい。タスクを与えます。

[email protected]
0232デフォルトの名無しさん05/01/26 15:42:18
ここで、金の相談しよう。俺なら、10000円だな取り合えづ、米か食べたい
次の方、いらっしゃいますか
0233デフォルトの名無しさん05/01/26 16:04:55
>>231
金くれ
0234デフォルトの名無しさん05/01/26 17:38:13
XPの互換モードを見破る方法って無いですか?
0235デフォルトの名無しさん05/01/26 17:40:03
>>234
5.0+0.1
以下はだめで良いじゃん?
0236デフォルトの名無しさん05/01/26 17:41:20
MFCを勉強し始めたのですが、
MFCが使えたら、WindowsSDKってほとんど必要ないんじゃないの?
ってぐらい便利で開発しやすいと思うのですが、
実際のwindowsアプリケーションの開発現場ではどうなのでしょうか?
0237デフォルトの名無しさん05/01/26 17:48:41
げーツに反抗するやつがキター、良いかも、でもニュートンの法則知らない
0238デフォルトの名無しさん05/01/26 17:52:37
>>236
何の開発かによるだろ。
0239デフォルトの名無しさん05/01/26 17:54:47
>>238

つまり開発によっては、両方を使い分けるってことですか?
使用頻度としては5分5分?
0240デフォルトの名無しさん05/01/26 17:58:38
ゲーしは技術系じゃない
0241デフォルトの名無しさん05/01/26 18:02:16
>>239
ゲームの開発・ネットワークシステムの開発・アプリの開発…PCソフトの開発・PCを使って組み込みソフトの開発……全部同じと?
0242デフォルトの名無しさん05/01/26 18:06:05
SDKという言葉を検索して
>あるテクノロジー(プログラミング言語やAPIなど)を利用して
>ソフトウェアを開発する際に必要なツールのセット。
と書いてあったのですが、
この「ツールのセット」とは何でしょうか?
0243デフォルトの名無しさん05/01/26 18:11:03
>>242
ツールの意味は分かる?
セットの意味は分かる?
0244デフォルトの名無しさん05/01/26 18:26:22
>>236
MFCはそこそこ便利なんで、ウィンドウのハンドリングとかはATLかMFCで書くことが多いなー。
でもWindowsの機能の大半はMFCがカバーしていないわけで、SDK直に呼び出さないと
ならないケースって山ほどあると思うけど。
0245デフォルトの名無しさん05/01/26 18:40:00
SDKという言葉を検索して
>あるテクノロジー(プログラミング言語やAPIなど)を利用して
>ソフトウェアを開発する際に必要なツールのセット。
と書いてあったのですが、
この「ツールのセット」とは何でしょうか?
0246デフォルトの名無しさん05/01/26 18:50:42
>>245
ツールの意味は分かる?
セットの意味は分かる?
0247デフォルトの名無しさん05/01/26 18:52:24
ツールセットは、開発者が苦労の末残した、本来のシステムは
より貴重なもの
0248デフォルトの名無しさん05/01/26 19:04:31
SDKという言葉を検索して
>あるテクノロジー(プログラミング言語やAPIなど)を利用して
>ソフトウェアを開発する際に必要なツールのセット。
と書いてあったのですが、
この「ツールのセット」とは何でしょうか?
0249デフォルトの名無しさん05/01/26 19:07:34
>>246
0250デフォルトの名無しさん05/01/26 19:58:59
MSDKは糞、金取ってないから文句言えない、
0251デフォルトの名無しさん05/01/26 20:07:18
文句言えるのは、XPUSERだけだな
0252デフォルトの名無しさん05/01/27 00:02:03
多くの国内企業は契約時の守秘義務で縛られ、公開情報をそのまま流せない。個人の技術所有権を認めない。ソースさらすヤツは入社させない。
その結果、国内ではwinapiやCOM、ネットゲームなどの最新の開発技術情報は入って来ない。
しかも英語ができないで馬鹿なアンシャンレジームの官僚どもが古い技術(CASLとかN88-BASIC)で教育システムを敷いているのに、勇壮たる国内企業はこれから起こる急激な人材不足に何の用意もしていない。

このままではお前らの情報技術は死滅してしまうぞ! 糞ジャップの売国奴どもめ!
■ このスレッドは過去ログ倉庫に格納されています