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

Win32API質問箱 Build24

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
- 過去スレ
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デフォルトの名無しさんNGNG
アフォの言うことは聞かないように
0154デフォルトの名無しさんNGNG
>>152さん、どうもです。

SetCapture(hWnd);
ShowCursor(false);
こう書いてみましたが、メインフレームからはずれると消したマウスが表示
されてしまいます。
0155デフォルトの名無しさんNGNG
>>153
天才のあなたなら答えがわかるのではありませんか?
0156デフォルトの名無しさんNGNG
答えは「そんなことを望んではいけない」だ
0157デフォルトの名無しさんNGNG
>>156
無理だという事なんでしょうか?
それともただのなじりでしょうか?
理解しかねます。。。
0158デフォルトの名無しさんNGNG
きょうは、ようちえんですなどけいのえをかきました。じょうずにかけたので
はやくおかあさんにみてほしいなとおもっていたら、けんじくんがぼくのえを
びりびりとやぶってしまいました。おかあさんにきょうはどんなことをしたのと
きかれたので、みんなでなわとびをしたといいました。
0159デフォルトの名無しさんNGNG
>>147
エディットボックスに半角英数しかはIME起動しなくすればよさそうだけど
コピペできちゃうから
0160デフォルトの名無しさんNGNG
>>149
eax/edx/ecx: 破壊してもよい
ebx/esi/edi: 破壊しちゃだめ
となっております。
Windows だけじゃなくて、i386 で動く UNIX でも全部そうなってる。
0161デフォルトの名無しさんNGNG
>>151は無理そうですね。残念です。
透明なマウスカーソルで置き換えられるか試そうと思います。
0162デフォルトの名無しさんNGNG
>>157
そんなアプリを使わされたらブチ切れそうってことではないかとw
0163デフォルトの名無しさんNGNG
>>157
他APのSetCursor とか WM_SETCURSOR とかをフックすればできるとは思います。
逆にかならずマウスカーソルを表示させるために同様のことをするAPと同時に動くと、
動作は不定なのだろうけれども。

>>162
タッチパネル付きモニタとかで使う業務用端末とかじゃないの?
0164デフォルトの名無しさんNGNG
マウスをどっかに固定しとけば?
0165デフォルトの名無しさんNGNG
あー SetCursorPos(0,0);
やってみたらとんでもないことに
0166デフォルトの名無しさんNGNG
マウスドライバを削除すれば?
0167デフォルトの名無しさんNGNG
だから答えるなと
0168デフォルトの名無しさんNGNG
フォントサイズのデフォルトの値は環境によって変わるものですか?
また、通常のデフォルトのフォントサイズの値を教えてください。
0169デフォルトの名無しさんNGNG
>>147
自由に入力させて、入力を全部チェック
入力文字を調べて、'a'〜'z'か'A'〜'Z'か'0'〜'1'以外の値なら削除
0170デフォルトの名無しさんNGNG
大阪(西梅田)、新宿(JR駅前)のそれぞれ一等地に
拠点を構え、業績急上昇中!未経験者大募集中!の
ソフトウェア開発会社
グリーンシステムを応援するHPです。
http://www.geocities.jp/grs_hp/

応援するスレはこちら!
http://school4.2ch.net/test/read.cgi/job/1077432387/

最高の会社にするため、みんな頑張ってます!

0171デフォルトの名無しさんNGNG
マウスをはずせば良い
0172デフォルトの名無しさんNGNG
ビットマップで塗りつぶしたウィンドウに、
DrawTextで文字を書くと、
文字の背景に白い四角形がでてきます。
文字だけを表示するためにはどうすればよいのでしょうか。

ビットマップの上にさらにビットマップを重ねるときは、
透過処理用のビットマップを用意してBitBltで重ねるのは知っているのですが。
0173デフォルトの名無しさんNGNG
オバキュー
0174デフォルトの名無しさんNGNG
SetTextMode
0175デフォルトの名無しさんNGNG
SetBkModeじゃね?
つうかこんなのググれば一発なのに。
0176デフォルトの名無しさんNGNG
あぁ、ごめん、DrawTextだとうまくいくかワカンネ。
TextOutなら上手くいった記憶あり。
0177172NGNG
初歩の初歩でした。
すみません。
でも私はこれで30分以上詰まってたので、
大変助かりました。
0178デフォルトの名無しさんNGNG
DrawTextで大丈夫でした。ありがとうございます。
0179147NGNG
>>159>>169
どもです。
やっぱ入力後にチェックするのが確実そうですね。
ありがとうございました。
0180デフォルトの名無しさんNGNG
>>173
すでにわかってるやつにしかわからないという無意味さにワロタ
0181デフォルトの名無しさんNGNG
スルーされてるしな
0182デフォルトの名無しさんNGNG
いてーよーオバキュー
0183デフォルトの名無しさんNGNG
オペ逝く?
0184デフォルトの名無しさんNGNG
ET用オバキュー
0185デフォルトの名無しさんNGNG
OPAQUEをオパキューと読むスレはここですか?
0186デフォルトの名無しさんNGNG
>>185
http://pc5.2ch.net/test/read.cgi/tech/1056173956/
0187デフォルトの名無しさんNGNG
>>185
オパクエだろ
0188デフォルトの名無しさんNGNG
数値(int)を文字列に変換するAPIおしえて
0189デフォルトの名無しさんNGNG
wsprintf
0190デフォルトの名無しさんNGNG
>>189
それ逆だからっ!
0191デフォルトの名無しさんNGNG
StrToIntExって何かリンクしないと使えない?
0192デフォルトの名無しさんNGNG
何もリンクせずに使えるWin32APIは無いよ
0193デフォルトの名無しさんNGNG
>>191
それ逆じゃないか?
0194デフォルトの名無しさんNGNG
>>191
shlwapi
ちなみにこれはWin98/2kかIE4以降でないと入っていない。
0195デフォルトの名無しさんNGNG
>>193
逆だから
>>194
そのヘッダーはインクルードしてんだけど、リンク時になんかStrToIntExAが未解決って
0196デフォルトの名無しさんNGNG
>>194
0197デフォルトの名無しさんNGNG
「何かリンクしないと使えない?」
「shlwapi」
「そのヘッダーはインクルードしてんだけど」
0198デフォルトの名無しさんNGNG
>>195
インポートライブラリをリンクしろ。
ところで188ではint→charを聞いているがStrToIntExはchar→intだぞ。
0199デフォルトの名無しさんNGNG
>>198
なにむきになってんの?
0200デフォルトの名無しさんNGNG
・int->char*
sprintf
・INT->LPTSTR
wsprintf
・char * -> int
atoi
・LPTSTR->INT
_ttoi
0201デフォルトの名無しさんNGNG
自己解決しました。
0202デフォルトの名無しさんNGNG
自己満足しました。
0203149NGNG
>>150さん、>>160さん、どうもありがとう
0204デフォルトの名無しさんNGNG
自己猫耳ごっこしました。
0205デフォルトの名無しさんNGNG
自己完結しました
0206デフォルトの名無しさんNGNG
最大化ボタンを押されたのを知るにはどうすればいいですか?
0207デフォルトの名無しさんNGNG
WM_SYSCOMMND
0208デフォルトの名無しさんNGNG
>>188
SetDlgItemIntしてGetDlgItemText
0209206NGNG
>>207
ありがとうございます。
0210デフォルトの名無しさんNGNG
>>208
文字配列をソートするのに、LBS_SORTなリストボックスにぶちこんでから
取り出していた奴は実在する。
0211デフォルトの名無しさんNGNG
32ビットのDIBを作って、指定したピクセル群にアルファ値を設定したいです。
GDI+ではブラシなどがアルファ値をもつので普通の描画操作(Polygonなど)で
できると思うのですが、GDIでこれをやるにはメモリを直接書き換えるしかないの
ですか?
0212デフォルトの名無しさんNGNG
まぁ普通はDIBSectionでやるよな。
0213デフォルトの名無しさんNGNG
>>212
異常者は?
0214デフォルトの名無しさんNGNG
>>213
SetPixcel()
0215デフォルトの名無しさんNGNG
>>210
某VBマガジンでソートの実装が面倒なときはこんな事もできると紹介されていたな
0216デフォルトの名無しさんNGNG
>>214
異常者!無理じゃねーか
0217デフォルトの名無しさんNGNG
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnwui/htm/layer.asp
0218デフォルトの名無しさんNGNG
>>217
あほ
0219デフォルトの名無しさんNGNG

WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU,
を指定して作ったウインドウの、クライアント領域を600に固定したいときの、
nHeightの指定の仕方を教えてください。

#define WINDOW_TATE (600 + SM_CYFRAME + SM_CYMENU)
では、少しクライアント領域が広くなるようです。
0220デフォルトの名無しさんNGNG
>>219
AdjustWindowRect
0221デフォルトの名無しさんNGNG
即答ありがとうございます。
0222デフォルトの名無しさんNGNG
>>221
出来たみたいだからいいけど、

> #define WINDOW_TATE (600 + SM_CYFRAME + SM_CYMENU)

明らかに使い方間違ってないか?
0223デフォルトの名無しさんNGNG
MFCとかアプリケーションウィザードとか使わずに、
普通にリソースエディタを使ってダイアログベースのアプリを作ってます。
それで、メインのダイアログにメニューをつけようとしてるんですが、
リソースにメニューを挿入し、そのメニューのIDを
メインダイアログの「プロパティー」の「一般タブ」から
指定してあげてもテストプレビューでメニューがまったく表示されません。
なにか他に必要な設定などはあるのでしょうか?
それともテストでは見えないものなんでしょうか?
0224223NGNG
コンパイルしたらちゃんと表示されたから
そういう仕様なのかな…
0225デフォルトの名無しさんNGNG
マウスの左ボタンをおして画面上を動かすと、画面の絵が動くようにしていて
途中で落ちるので、調べた結果、CreatePen() の廃棄洩れがあったのですが、
何回かは廃棄洩れがあっても動きます。何が満杯になると落ちるのか、分かり
ますか。
0226デフォルトの名無しさんNGNG
GDIリソース
XPにも9xよりはるかに数字は大きいが上限はある
0227デフォルトの名無しさんNGNG
普通「破棄」だと思うが。
原因は「破棄のし忘れでリソース不足に陥っていること」だろう。
破棄をきちんとすればいいこと。
0228デフォルトの名無しさんNGNG
透明なウインドウを作りたいのですが、
どうすればできるでしょうか。

C言語、borlandのコンパイラで作成しています。
0229デフォルトの名無しさんNGNG
「透明なウィンドウ」という言葉の意味による。
見えないウィンドウって意味なら表示させなきゃすむわけだが。
0230デフォルトの名無しさんNGNG
>>228
Layered Window
0231デフォルトの名無しさんNGNG
インターネットエクスプローラのクライアント領域を全て選択→コピー
するような文字列の取得を行うプログラムを作るにはどうすればいいのでしょうか?
対象プログラムのタイトルとか各コントロールの文字列を取得するのは分かったんだけど、
クライアント領域を手動でコピーするような操作が分からない
不可能なのでしょうか?
0232デフォルトの名無しさんNGNG
MSAA
0233デフォルトの名無しさんNGNG
任意の文字列を再変換したいんですけど、
うまくできません。
というより、どうすれば良いのかよくわかりません。
とりあえず、再変換構造体PRECONVERTSTRINGとか
ImmSetCompositionString()を使うって
ところまではわかったのですが…。
実際これを使ってどうすれば良いのでしょうか?
0234ほんたまNGNG
おみゃ〜らよ、system32フォルダにあるDLLの関数を呼び出すには、インポートセクションにDLL名と関数名を書き込んでいくだけで、呼び出せるんだが、
VC++で自分でつくったDLLの関数を同じ方法で呼び出そうとすると、「DLL何に○○のエントリーポイントが見つかりません」というメッセージが出て呼び出せないんだ…
おみゃ〜らよ、自分でつくったDLLとwindows付属のDLLとは、どっか構造が違うのかな?
windows付属のDLLと同じ構造のDLLを自分でつくるにはどうすればいいの?
教えてくだされ〜♪
0235デフォルトの名無しさんNGNG
えーと、インポートセクションって何だっけ?
0236デフォルトの名無しさんNGNG
>>234
DLL 作るとき extern "C" した?
0237デフォルトの名無しさんNGNG
便乗質問。
Dependency WalkerでDLLがエクスポートしている関数を見るとき、
自作DLLの関数を見ると、"_hoge@4"のように呼び出し規約に従った接頭・接尾文字が
エクスポートされているように見えるんだが、
たとえばKernel32.dllのGetProcAddressはそのまま"GetProcAddress"でエクスポートされている感じ。
この違いは何が原因?
0238デフォルトの名無しさんNGNG
マルチにレス不要
0239236NGNG
>>237
それも extern "C" しなされ。
0240237NGNG
関数のプロトタイプ全てに一々書く必要があるん?
一応ソース自体も.cなファイルなので、ヘッダでは

#ifdef _cplusplus
extern "C" {
#endif

なんて書いてるんだけど…
0241236NGNG
>>240
ごめん、__stdcall も必要かもしれない。

extern "C" __declspec(dllexport)
int __stdcall Func(...)

こんなんだっけな。
0242デフォルトの名無しさんNGNG
>>240
マクロ化しておけばいいだろう。
ちなみに .c なら extern "C" はいらないよ。
0243237NGNG
自己解決しました。
defファイルを書けばいいのですね。
0244236NGNG
>>241
なんども間違えてすまんな。
MSDN で __stdcall を調べてみれば分かると思うけど、
__stdcall には @ がつくんだ。
これをなくそうと思ったら .def ファイルで定義する必要があったと思う。
0245デフォルトの名無しさんNGNG
で、インポートセクション…
0246236NGNG
>>245
たぶん、PE ファイルのインポート セクションのことだろう。
IAT (Import Address Table) とか、そういうのあるところ。
0247デフォルトの名無しさんNGNG
177 名前:ほんたま :04/11/06 20:40:20
おみゃ〜らよ、system32フォルダにあるDLLの関数を呼び出すには、インポートセクションにDLL名と関数名を書き込んでいくだけで、呼び出せるんだが、
VC++で自分でつくったDLLの関数を同じ方法で呼び出そうとすると、「DLL何に○○のエントリーポイントが見つかりません」というメッセージが出て呼び出
せないんだ…
おみゃ〜らよ、自分でつくったDLLとwindows付属のDLLとは、どっか構造が違うのかな?
windows付属のDLLと同じ構造のDLLを自分でつくるにはどうすればいいの?
教えてくだされ〜♪
0248236NGNG
>>247
だから .def ファイルを使うんだって。
.cpp で関数を定義しているんなら extern "C" をしておいたほうがいい。
0249219NGNG
>>222
間違っていました。
#define WINDOWS_TATE 600

HWND hWnd;
int y1, y2, y3;
y1 = GetSystemMetrics(SM_CYFIXEDFRAME);
y2 = GetSystemMetrics(SM_CYCAPTION);
y3 = GetSystemMetrics(SM_CYMENU);

hWnd = CreateWindow(〜〜〜〜〜〜, WINDOWS_TATE + y1 + y2 + y3 ,〜〜〜);

が正しいと今の自分は思っています。
GetSystemMetricsで値を得る前に#defineで定義してはまったくだめですね。

0250228NGNG
>>229
ウインドウの背景を透明化させたいです
最初にNULL_BRUSHを指定したの時のように(これはただ塗りつぶさないだけのようですが。。)
>>230
詳細がのっているところはありませんか?
0251デフォルトの名無しさんNGNG
>>250
>詳細がのっているところはありませんか?
MSDN
0252デフォルトの名無しさんNGNG
>>228
SetLayeredWindowAttributes
■ このスレッドは過去ログ倉庫に格納されています