C++ Builder如何清除消息框中按下的键 我在Windows 7上使用了NavaCeDrC++ Cuilder XE7。

C++ Builder如何清除消息框中按下的键 我在Windows 7上使用了NavaCeDrC++ Cuilder XE7。,c++,messagebox,builder,C++,Messagebox,Builder,我的表单中有几个热键,定义如下: void __fastcall Twindow::FormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { switch(Key) { case vkEscape: Close(); break; //and other cases for different keys } } if(App

我的表单中有几个热键,定义如下:

void __fastcall Twindow::FormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
    switch(Key)
    {
        case vkEscape:
            Close();
            break;
        //and other cases for different keys
    }
}
if(Application->MessageBoxW(L"Do you want to procees?", L"Box?", MB_OKCANCEL) == ID_OK)
{
    //proceed
}
在某个时候,我的表单会创建带有问题的消息框。它工作得非常好,但当有人决定用键盘回答信息框时,问题就开始了。如果我按ESC键关闭此消息框,则escape按钮消息肯定会关闭此框,但它也会发送到表单,并且表单会以上面定义的方式响应它的关闭

我想在发送和回复之前,我可能必须以某种方式清除挂起的消息。。。我该怎么做

我的消息框代码如下所示:

void __fastcall Twindow::FormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
    switch(Key)
    {
        case vkEscape:
            Close();
            break;
        //and other cases for different keys
    }
}
if(Application->MessageBoxW(L"Do you want to procees?", L"Box?", MB_OKCANCEL) == ID_OK)
{
    //proceed
}