[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 07/09 05:34 / Filesize : 231 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build59



1 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:39:56 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

過去スレ、関連リンクは>>2-5くらい。

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


684 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 23:50:05 ]
ウィンドウにWS_EX_LAYEREDを設定し、32Bitビットマップを読み込み下の様にUpdateLayeredWindowを実行しましたが、
ウィンドウが消えてしまい、うまくビットマップを適用させることができません。
どこがおかしいか、何方か教えて頂けないでしょうか。

ReadFile(hFile , &bmpFileHeader , sizeof (BITMAPFILEHEADER) , &dwBytes , NULL);
bmpInfo = (BITMAPINFO *) malloc (bmpFileHeader.bfOffBits - dwBytes);
ReadFile(hFile , bmpInfo , bmpFileHeader.bfOffBits - dwBytes , &dwBytes , NULL);
bPixelBits = (BYTE *) malloc (bmpFileHeader.bfSize - bmpFileHeader.bfOffBits);
hdc = GetDC(hWnd);
hBitmap = CreateDIBitmap(hdc , &bmpInfo->bmiHeader ,CBM_INIT , bPixelBits , bmpInfo , DIB_RGB_COLORS);
hBuffer = CreateCompatibleDC(hdc);
SelectObject(hBuffer , hBitmap);
GetObject(hBitmap , sizeof (BITMAP) , &bitmap);
wndPos.x = 100; wndPos.y = 100;
surPos.x = surPos.y = 0;
wndSize.cx = 300; wndSize.cy = 300;
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0;
bf.AlphaFormat = AC_SRC_ALPHA;
bf.SourceConstantAlpha = 255;
UpdateLayeredWindow( hWnd, GetDC( 0 ), &wndPos,&wndSize, hBuffer, &surPos, 0, &bf, ULW_ALPHA);

長文ですみません

685 名前:デフォルトの名無しさん [2007/11/29(木) 00:01:28 ]
freeしたポインタをfreeしたらどうなりますか?多分よくないですよね?
freeされたかどうかを調べる関数とかってないですか?

686 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:10:35 ]
>>683
HWNDはウィンドウ
位置を動かしたりサイズを変えたり、タイトルバーを設定したりできる

HDCは画家
ペンや絵の具を渡せば、三角形とか四角形とか円とかを描いてくれる

DIBはメモリ内の.bmpファイル

687 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:11:51 ]
>>685
よくないです
調べる方法はありません
自分で気をつけましょう

688 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:18:25 ]
>>684
ビットマップのイメージ本体を読み込んでないように見える
bPixelBits は malloc しただけでそのままだし
hBitmap も Create しただけで何も描き込んでないし

689 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:19:09 ]
>>687
デバッグビルドならチェック入ると思うが

690 名前:デフォルトの名無しさん [2007/11/29(木) 00:30:16 ]
>>685
当たり前だけど、対象のポインタ変数にメモリが割り当てられてるかどうかは
ポインタがNULL番地をさして無ければいいわけだから
俺はいつも if(lpPoint != NULL) free(lpPoint) ってやってるが、もしかしたら正しくはないのかも知れん

>>686
ついでにCreateDIBSection関数が何者なのか、解説ヨロ
何度説明されても分からんけん


691 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:32:47 ]
>>690
if(lpPoint != NULL) free(lpPoint)
これは無駄だろ

if(lpPoint != NULL) delete[] lpPoint
の場合なら意味あるけど

692 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:38:22 ]
>>690
CreateDIBSection は指定したサイズのビットマップをメモリ内に作る。
GDI 関数で扱えるように HBITMAP ハンドルが返されるし、
その RGB 値を直接触れるように、ビットマップデータへのポインタも返される。



693 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:38:56 ]
>>691
どっちも無駄
NULL を free とか delete とか delete[] に食わせるのは合法で、単に無視される

694 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:50:08 ]
>>693
deleteも無駄だったのか・・・知らなかった

695 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:54:26 ]
deleteしたあとNULL入れとくのが正解

696 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 01:30:03 ]
if(lpPoint != NULL) {free(lpPoint); lpPoint = NULL;}
こうするのが正解

697 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 01:40:16 ]
>>696
不正解

698 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 01:49:15 ]
NULLだったら無視されるんだから
free(lpPoint);
lpPoint = NULL;
だけでいいじゃん…

699 名前:デフォルトの名無しさん [2007/11/29(木) 02:02:02 ]
K&Rにfreeで解放されたメモリ領域にfreeをかけるのは動作が規定されてないからやめとけって書いてあった希ガスよ
正しくは>>696のようにすべきじゃね、と思う

>>692
そういう説明は何百回も読んでるんだけど、さっぱりわかんねーよ
>指定したサイズのビットマップ ← これはデバイス独立ビットマップなのか、デバイス依存ビットマップなのか・・・
GDI関数で扱えるDDB(デバイス依存とかいう香具師)は、ビットマップのピクセルビットへはアクセスできない
HBITMAP型は通常デバイス依存ビットマップを表現するのに使われるはずだよ
なのに、ピクセルビットへのポインタもちゃんと返してくる
現にGetObjectで調べてみたら、pBitsにピクセルビットへのポインタが格納されてる
通常HBITMAP型のDDBを引数に、GetObjectやってもpBitsはNULLだよね

700 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 02:30:38 ]
>>699
free(lpPoint);
lpPoint = NULL;
free(lpPoint);

と、

free(lpPoint);
free(lpPoint);

は違う。
おまいが言っているのは後者。

701 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 02:48:31 ]
>>699
DDBのビットデータに直接アクセスできるわけない
大抵VRAM上にあるだろうし、DirectXじゃないから直接アクセスできてもあまり意味が無い

>HBITMAP型は通常デバイス依存ビットマップを表現するのに使われるはずだよ
お前の「通常」の基準がよく分からん。DDBで使うことの方が多いと思うが。

DIBもDDBもHBITMAPなのは、ある程度両者を意識しなくて済むようにそういう設計にしてるのか
DIBセクションが標準APIとして加わったのがwin95以降だからなのか他に理由があるのかは知らん

702 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 03:31:48 ]
>>688
レス、有難うございます
>>ビットマップのイメージ本体を読み込んでいない

すみませんm(__)m
初歩的なミスに気付いていませんでした

ReadFileをもう一つ追加して見ます



703 名前:デフォルトの名無しさん [2007/11/29(木) 06:31:35 ]
>>701
>HBITMAP型は通常デバイス依存ビットマップを表現するのに使われるはずだよ
お前の「通常」の基準がよく分からん。DDBで使うことの方が多いと思うが。
デバイス依存ビットマップ=DDB

704 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 08:12:20 ]
>>697
速度重視なら正解だろ

705 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 08:19:13 ]
>>704
一概には言えない
lpPointがNULLの可能性が高い場合はいいが逆だと遅くなる

706 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 08:26:40 ]
>>705
そこまで行くとそもそも論になるからもう止めようぜ

707 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 08:27:10 ]
>>699
DIBセクションは、DIBの形でデータを保持していて、
HBITMAP経由で読み書きするときには、
その都度DDBとの間で変換が行われる。

ってプログラミングWindowsに書いてあった。

708 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 10:05:52 ]
今時if文判定1個にこだわるプログラミングしてるやつがいることに驚きだわ

709 名前:683 mailto:sage [2007/11/29(木) 10:22:06 ]
>>686
ではなぜBitBltではDIBではなくhDCを渡すのでしょうか。
あと、DIB間での画像拡大コピーってできますか?

710 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 10:25:59 ]
>>709
DIBとDDBの違いわかってる?

711 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 12:24:28 ]
>>710
>>709が解ってないのはDIBとDDBの違いではなく、DCにビットマップを選択させる概念ではないかと

712 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 12:26:35 ]
DIBとDDBの違いがわかればその疑問も解決すると思うのだが



713 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 12:43:16 ]
>>709
>なぜBitBltではDIBではなくhDCを渡すのでしょうか。

BitBltはDIB用じゃないからさ
DIBを直接渡すAPIはSetDIBitsToDeviceやStretchDIBitsがあるからそっちを使う

>DIB間での画像拡大コピーってできますか?

ポインタ駆使して直接ビットデータを操作しちゃえばなんだって出来る

714 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 12:49:00 ]
>>709
GDI+でも使ってろ

715 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 14:03:10 ]
>>700
本来は
void correct_free(void **p){
old_free(*p);
*p = NULL;
}
という設計にすべきだったんだよな

そうなってはじめて安心して
correct_free(&lpPoint);
correct_free(&lpPoint);
と書ける


716 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 14:06:23 ]
その安心は半分まやかしだ
ポインタ値はあちこちにコピーされうる

717 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 14:13:31 ]
生成者と参照者を明確に区別して
freeは生成者だけが行うようにする
参照者は使ったらそのまま放置
っていう造りにしたら安定する?

718 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 14:14:26 ]
そんなあなたにshared_ptr

719 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 14:36:20 ]
>>715
correct_free(NULL);
どこが安心できるんだ?

720 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 15:14:31 ]
私が知っていること(onXP)

ビットマップにはDDB,DIB,DIBSectionがある
HDCが好むのはHBITMAPつまりDDBとDIBSection
DDBはシステム領域に作られ、総量の上限がある
DIBSectionはプロセス毎の2GBの中に作られる
-->長時間保持する大きなビットマップ向き、メモリマップを使えば巨大なものも可

DIBSectionを選択したままCreateCompatibleBitmapを呼ぶとDIBSectionが作られるらしい
DIBSectionはwin16のDIB.DRV,WinGの系統らしい
DDBとDIBSection win95の頃は速度大差なし

721 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 15:24:23 ]
>>719
ごめんうっかりしてた
void correct_free(void **p){
if(*p) old_free(*p);
*p = NULL;
}
correct_free(&lpPoint);
correct_free(&lpPoint);

722 名前:デフォルトの名無しさん [2007/11/29(木) 15:29:19 ]
頑張ってそんな変なもの使って何かいいことある?
free には失敗しないかもしれないけど、
何時誰が free するかを管理しないコーディングスタイルじゃ
内容が必要なときに既に free されてる恐れがあるじゃん。

ちゃんと誰がいつまで内容を参照したいかが分かってれば、
それの終わりのとこで一回 free すればいいわけだし。



723 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 15:57:27 ]
>>708
アセンブリでMMXやSSEで使うこのご時世に
お前が低能だって事は分かった

724 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:26:48 ]
>>721
if(*p)
{
old_free(*p);
*p = NULL;
}
こうだろ

>>722
バカは黙ってろ
管理するに決まってるだろ
俺はマクロでNULL代入してるぞ

725 名前:724 mailto:sage [2007/11/29(木) 16:28:36 ]
訂正
if(p)
{
old_free(*p);
*p = NULL;
}

726 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:30:04 ]
ダイレクト ボブサップ

727 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:32:44 ]
>>722
今時は開放されたメモリの参照すれば例外飛んでくれるから
NULL入れる必要もないといえば無い。
それに、確保や開放を頻繁に行うなら、意識して717のいうように作るべきだと思う。

しかし、世の中の大多数の人はそのことを知らないし、やろうともしない。
結局バグの温床になっているが、なんとなく動いてしまっていて気がつかない人も多い。
特にリリース版で動くからいいやとかいうタイプの人もいるんで・・・

あと、自分の経験上、他人が書いたコードで確保と開放が入り乱れてる場合は
開放したところにNULLいれるように書き直すと、バグが良く見つかる。
まあ、こんな小手先の技使わないといけない俺の環境が悪いんだろうな。

最新のコンパイラとか開発環境、動作環境でやり、自分がコードのすべてを把握し
覚えている限りは無用のテクニックかもしれない。

>>723
最適化スレだったらその発言は甘んじて受け入れよう
だが、ここはAPIを質問するところだ
こんなところで、パイプラインの破壊気にしてもしょうがないだろ?


728 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:34:44 ]
>>727
C++ならいいんだけどな

729 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:37:05 ]
あああ、free論議は収拾付かなくなるので終了。

終了終了

730 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:38:34 ]
>開放したところにNULLいれるように書き直すと、バグが良く見つかる。
嘘だろ

731 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:47:32 ]
>>727
APIスレだろうが最適化スレだろうが関係ない
何万回、何百万回も使うならif文一つだろうが気にするべき
ジャンプ1回で済ますかpush、call、popを使うかで大違い

732 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:48:24 ]
>>728
少なからず理解者がいてくれたようでうれしい

>>730
嘘だと思える君の環境がすごくうらやましい
世の中には信じられないことをする人が多いのです。
また、C++に対応してるんだかしてないんだかわからない
しょぼい環境も多いのです。



733 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:52:09 ]
>>732
開放したところにNULLいれてバグるなら
NULLいれなくてもバグるだろ

734 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:53:41 ]
>>732
お前が低能だって事は分かった

735 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:02:35 ]
>>727
そんなことで例外発生させてどうすんだよ
NULLなら処理を跳ばしてくれれば良いだけなのに

736 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:05:47 ]
>>733
NULLいれなくてもバグってるんだけどそれは発見されない、
NULLいれたらそのバグが発見されやすい、ってことだろ

737 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:08:32 ]
>>736
元々バグってんのか
NULL代入関係ないじゃん

738 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:10:49 ]
ここはAPIスレだったよね?
特定の言語の話はスレ違い

739 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:11:40 ]
ガベコレのある言語を使いましょう

でこの話題は終了

↓はい次

740 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:14:53 ]
空気読まずに
ポインタのアドレス使ったリスト管理なんかだと
freeのあとNULL入れるのは必要になってくるけどな

741 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:16:09 ]
haskellお勧め

742 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:21:43 ]
質問なのですが、
SetLayeredWindowAttributesを使わずにウインドウのある色の部分だけ透明にすることはできるのでしょうか?



743 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:22:31 ]
SetWindowRgn

744 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 17:31:33 ]
>>727
> 開放したところにNULLいれるように書き直すと、バグが良く見つかる。
ワロタ

745 名前:デフォルトの名無しさん [2007/11/29(木) 18:14:14 ]
結局
if( p != NULL ) { free(p); p = NULL; }
でFA?

746 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 18:15:12 ]
どうでもいいです

747 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:04:14 ]
>>745
>>696-698

748 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:11:42 ]
ぬるぽ


749 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:12:49 ]
if(_x_){ _x_->Release(); _x_ = NULL; }

750 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:21:24 ]
スマートポインタ使えよ糞共

751 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:25:54 ]
templateって方の種類分容量増えるんだろ
define でいいじゃん

752 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:27:28 ]
>>751



753 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:32:49 ]
>>751
確かに環境によってはtemplate禁止にせざるを得ないこともある。
が、さすがにtemplateの機能をdefineだけじゃ無理だと思う。

754 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:44:57 ]
本当の初心者質問ですみません。
ウインドウを作成するところで詰まってしまいました。
ビルドは成功するのですが、実行するとウインドウが表示されず、CPUが100%になります。
どこがおかしいでしょうか?

環境
WindowsXPsp2
Visual Studio2005

ソース
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5360.txt

755 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:48:39 ]
ウィンドウクラスの登録が抜けている

756 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:55:50 ]
>>854
PeekMessageなんか使うから100%になるんだ、GetMessage使え。
まずは猫でも分かる〜を読むべし。

757 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:58:51 ]
>>752

758 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 20:02:59 ]
>>717
>>727

COMのプログラミングすると
生成者が放置で
参照者が片付ける
みたいな感覚に染まってしまう


759 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 20:07:30 ]
>>725
それ意味なくね?
訂正が間違ってる


760 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 20:59:53 ]
InvalidateRectで無効化された領域を取得するにはどうすればよいのでしょうか?

質問の背景としては、スクロールバーを動かしたとき、画面のビットマップをBitBltで
移動させることでスクロールされるようにしています。ところが、転送元の領域が
無効化された状態であった時、その領域が転送後にも再描画されず、不正な状態のままに
なってしまっています。そこで、転送前に無効化されていた領域を転送後の座標系で
無効化しなおすことでこの問題を解決したいと思っているのですが。

よろしくお願いします。

761 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 21:03:32 ]
>>751
組み込みスレならともかく、Win32 APIスレで言う話か?
メモリ数百MiB-数GiB、CPU数百MHz-数GHzな環境で禁止にする必要などない。


762 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 21:07:40 ]
>>760
GetClipBox
PAINTSTRUCT::rcPaint



763 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 21:08:29 ]
GetUpdateRect
だけど。
ふつうはScrollWindowExが良きに計らってくれるんじゃないのかなー。

764 名前:760 mailto:sage [2007/11/29(木) 21:16:46 ]
>>763
おわっと、こんな関数があるとは知りませんでした。
まだ試してないですが、これを使えば万事うまくいきそうですね。
どうもありがとうございます。

>>762
どうもありがとうございます。

765 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 22:32:51 ]
>>759
どこが?

766 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:00:00 ]
もう引っ張るなよ

767 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:03:31 ]
別にfreeの話しを引っ張るつもりはない
しかし突っ込まずにはいられないだろ

768 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:04:35 ]
「あえていうなら、Win32APIスレでfreeの話をする辺りが。」
ってことで納得してくれよ(w

769 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:05:44 ]
だからfreeは関係ないと

770 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:07:43 ]
>>759>>766


771 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:10:46 ]
freeは本質とはあまり関係ないんだからとりあえず黙っとこうぜ。
荒らしたいというなら別だが。

772 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:13:29 ]
>>771
>>769
コードの話しだろ



773 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:15:15 ]
馬鹿しか居ないな

774 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:18:55 ]
以上をまとめると、HeapDestroy万歳ってことですね。

775 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:25:40 ]
>>772
>>725はあってるよ
どの道すれ違い消えろ

776 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 00:12:10 ]
昨日はサウンド関係で荒れて今日はfreeで荒れるのか
明日は何の話題で荒れるのかな〜?

777 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 00:18:14 ]
1:int *p;とint* p;
2:sizeof( char )
3:インデント
好きなのを選べ

778 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 00:24:36 ]
>>777
1 と 3 はコード整形ツールで抹殺されるから 2 しかない!

779 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 00:35:00 ]
ウィンドウのシステムバーの青い部分をドラッグしたときにくるメッセージって何ですか?
WM_ENTER/EXITMENULOOPは左上のボタンで出るメニューのメッセージっぽいのですが…

780 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 00:47:13 ]
WM_SYSCOMMAND
WM_WINDOWPOSCHANGING
WM_WINDOWPOSCHANGED
WM_MOVING
WM_MOVE

781 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 00:47:54 ]
>>778
Win32API的にsizeof (TCHAR)を使うので、このスレでは2すら話題にならない。

782 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 00:48:14 ]
結局見つけました
WM_ENTER/EXITSIZEMOVEでした。
お騒がせしました



783 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 00:52:10 ]
CHARとかWCHARとかTCHARとか型がありすぎてわけわかんね
文字列に関してはワールドワイドなUnicodeに対応してるWCHARだけつかってればいいってこと?

784 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 00:52:46 ]
いまさらハンガリアン記法でひとつ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<231KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef