>> ServerConectProc関数のWM_INITDIALOGの中の処理が気になります。
>
>えと、以下のような感じになります。WM_INITDIALOGでは特に何も処理していません。
>やっぱり何かやってやらないと問題ありなのでしょうか?
いえいえ、WM_INITDIALOG の中でウィンドウスタイルを変えているのかと、
一瞬頭をよぎってしまって…
関数は問題ないです。
# 昔、一度やらかして、ウィンドウ閉じれなくなったことあるんで。。。
質問の答えから見るにソースには問題はないと思います。
もう少し調べてみます。
ところで、ServerConectProc関数の最後の return TRUE;ってなんなのでしょうか?普通メッ
セージを処理しない場合、return FALSE;になるのでは?
っと、これか!?
VC++.NETのダイアログエディタを開いて
1.プロパティ→表示→Control
2.プロパティ→表示→Transparent
を調べてみてください。
このプロパティがTrueだと画像っぽい表示になりました。
1→ダイアログのタイトルバーがなくなります。
ちょっと違うか…
2→あれ?もしかしてこれですか?
でもWS_EX_TRANSPARENTが定義されてないし…
# やっぱりビルドして確認しないとわからんか、表示は。>自分
>ところで、ServerConectProc関数の最後の return TRUE;ってなんなのでしょうか?
普通メッ
>セージを処理しない場合、return FALSE;になるのでは?
あー、そうだったー!
サスライの旅人さんご指摘ありがとうございます。見落としていました。
ちょっと実験→うわ、固まった→これのようです。
# リロードして見ておけばよかった。
> ちょっと実験→うわ、固まった→これのようです。
Transparentついてたときが固まっただけで固まってはいませんでした。
すみません。
# 何か自爆しまくってるなぁ
ということは、他に原因があるということですか?
なななな、なんと!!解決しましたw
#include <windows.h>
BOOL CALLBACK ServerConectProc(HWND hWnd,UINT msg,WPARAM wP,LPARAM lP){
switch(msg){
case WM_COMMAND:
switch(LOWORD(wP)){
case IDOK:
EndDialog(hWnd,FALSE);
return TRUE;
break;
// 「キャンセル」が押された
case IDCANCEL:
EndDialog(hWnd,FALSE);
return TRUE;
break;
}
}
return TRUE; ← FALSEに直した
}
一行直したら普通に表示してくれました。こんな一行であんな現象が起こるなんて・・・、
よくわからないこともあるのですね^^;
解決後も見ていたらもう一つ教えてほしいのですが・・・、
>鷲尾不徳様
>1.プロパティ→表示→Control
>2.プロパティ→表示→Transparent
どこを見たらいいのかよくわかりませんでした・・・、よろしかったらもう少し詳しく
書いていただけるととても助かります。
返信をしてくださった鷲尾不徳様、サスライの旅人様、dairygoods様、n様、
dairygoodsSunPac様、本当にありがとうございました。本当に助かりました。
>解決後も見ていたらもう一つ教えてほしいのですが・・・、
> >鷲尾不徳様
> >1.プロパティ→表示→Control
> >2.プロパティ→表示→Transparent
>どこを見たらいいのかよくわかりませんでした・・・、よろしかったらもう少し詳しく
>書いていただけるととても助かります。
Ctrl+Shift+E でリソースビューを出しダイアログを選択・ダイアログ編集画面を出す
ダイアログ(他のアイテムではなく)を選択
F4でプロパティが表示される(デフォルトでは右ペイン)
その項目の中にあります。
> return TRUE; ← FALSEに直した
こちらに気づけなくてすみませんでした。
てっきりVC++.NETのウィザードが吐いたソースを加工したものだと思っていたので…
>鷲尾不徳様
>こちらに気づけなくてすみませんでした。
いろいろと教えていただいて本当に感謝しています。教えてもらっているのに
あやまられてもどうしたらいいのかとても困る所存です。最後まで本当にありがとう
ございました。