ページ 1 / 1
メッセージボックスが表示されない?
Posted: 2012年9月04日(火) 18:52
by kaira
コード:
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR pCmdLine, int showCmd)
{
HWND HmainWnd;
HmainWnd=ProcessWindow(hInst);//ウィンドウを作成して表示する
if (HmainWnd==NULL)
{
return 0;
}
// メッセージループ
while(GetMessage()==0)
{
if (GetKey()==KEY_A)
{
MessageBox(HmainWnd,_T("Aがクリックされた"),_T("ほうこく"),MB_OK);
}
}
return 0;
}
上記のコードでGetKey()関数がKEY_Aを返したときにMessageBox()関数でメッセージボックスを表示させようとしていたのですが、
親ウィンドウ(HmainWnd)が非アクティブになるだけで何も起こらず、困っています。
何故表示されないのでしょうか?
Re: メッセージボックスが表示されない?
Posted: 2012年9月04日(火) 20:21
by kaira
コード:
#include <windows.h>
#include <tchar.h>
#include "WNDKEYadmin.h"
// 開始位置
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR pCmdLine, int showCmd)
{
HWND HmainWnd;
HmainWnd=ProcessWindow(hInst);//ウィンドウを作成して表示する
if (HmainWnd==NULL)
{
return 0;
}
while(ProcessMessage()==0)//メッセージの処理(Dxlibのものとは関係なし)
{
if(GetKey()==KEY_A)
{
MessageBox(HmainWnd,_T("Aがクリックされた"),_T("ほうこく"),MB_OK);
}
}
return 0;
良く見たらコードが昔の物の上include文が入っていないという失敗をしてしまったので修正いたしました。
Re: メッセージボックスが表示されない?
Posted: 2012年9月04日(火) 20:52
by だんごさん
質問ですが、あなたはDxLib上でメッセージボックスを表示させたいのですか?
というかDxLib上で表示ですよね?
Re: メッセージボックスが表示されない?
Posted: 2012年9月04日(火) 21:10
by kaira
だんごさん さんが書きました:質問ですが、あなたはDxLib上でメッセージボックスを表示させたいのですか?
というかDxLib上で表示ですよね?
いえ、違います。
Win32APIを使用しての表示です。
Re: メッセージボックスが表示されない?
Posted: 2012年9月04日(火) 21:23
by softya(ソフト屋)
kaira さんが書きました:だんごさん さんが書きました:質問ですが、あなたはDxLib上でメッセージボックスを表示させたいのですか?
というかDxLib上で表示ですよね?
いえ、違います。
Win32APIを使用しての表示です。
動作して状態を再現できるコードをお願いします。
たぶん、同じ状況にしないと再現しないかと。
出来ればコンパクトなコードを作ってもらえると助かります。
Re: メッセージボックスが表示されない?
Posted: 2012年9月04日(火) 22:07
by kaira
softya(ソフト屋) さんが書きました:kaira さんが書きました:だんごさん さんが書きました:質問ですが、あなたはDxLib上でメッセージボックスを表示させたいのですか?
というかDxLib上で表示ですよね?
いえ、違います。
Win32APIを使用しての表示です。
動作して状態を再現できるコードをお願いします。
たぶん、同じ状況にしないと再現しないかと。
出来ればコンパクトなコードを作ってもらえると助かります。
コードです。
http://kie.nu/nFz
Re: メッセージボックスが表示されない?
Posted: 2012年9月04日(火) 22:26
by kaira
いつのまにか普通に表示されていました(何故・・?)
ということでこのトピックは解決とさせて頂きます。
ご協力してくださった皆さん、ありがとうございました。
Re: メッセージボックスが表示されない?
Posted: 2012年9月04日(火) 22:52
by softya(ソフト屋)
日頃MFCの人なので解決策は提示できませんが動作が怪しいです。
メッセージループでMessageBoxを呼び出すのはやめておいたほうが良いと思います。
あと'A''を一度押すと別のコントールキーで何度でもウィンドウが出ます。
Re: メッセージボックスが表示されない?
Posted: 2012年9月05日(水) 17:30
by mao1756
softya(ソフト屋) さんが書きました:日頃MFCの人なので解決策は提示できませんが動作が怪しいです。
メッセージループでMessageBoxを呼び出すのはやめておいたほうが良いと思います。
あと'A''を一度押すと別のコントールキーで何度でもウィンドウが出ます。
ありがとうございます。
解決した時に何度でもウィンドウが出る状況になっていたので修正しました。