WinAPI单击按钮时不会发生任何事情 我的问题是:在下面的C++代码中,为什么点击按钮不做任何事情,而应该调用 Measabbox < /C> >从 WNDPRO1?

WinAPI单击按钮时不会发生任何事情 我的问题是:在下面的C++代码中,为什么点击按钮不做任何事情,而应该调用 Measabbox < /C> >从 WNDPRO1?,c++,winapi,visual-c++,button,C++,Winapi,Visual C++,Button,注:编译后,我遇到了如下错误: "C:\Windows\SysWOW64\ntdll.dll", Can't find or open PDB file. 代码: 最后一个新手问题是:LRESULT CALLBACK和LONG WINAPI之间有什么区别?您希望如何调用WndProc1?它不与任何窗口类关联。。。您必须在WndProc内处理WM_命令(按钮以及其他常用控件通过WM_命令通知其父控件事件)。对WndProc进行此修改: LRESULT CALLBACK WndProc(HWND

注:编译后,我遇到了如下错误:

"C:\Windows\SysWOW64\ntdll.dll", Can't find or open PDB file.
代码:


最后一个新手问题是:
LRESULT CALLBACK
LONG WINAPI
之间有什么区别?

您希望如何调用
WndProc1
?它不与任何窗口类关联。。。您必须在
WndProc
内处理WM_命令(按钮以及其他常用控件通过
WM_命令
通知其父控件事件)。

WndProc
进行此修改:

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT PS;
switch(message)
{
case WM_COMMAND:
    if(LOWORD(wParam)==10000)
    {
        MessageBox(hWnd, TEXT("Button Pressed"), TEXT(""), 0);
    }
    break;
case WM_CREATE:
    break;
// ...

我在
WndProc
开关
/
案例
中添加了
WM_命令

是的,很抱歉,我认为代码不是那么大(我不知道哪里出错),注释也不是那么重要。这没关系,但有时用户可能会认为注释是相关的。没问题,这不是一个很大的代码,但在我看来,并不是所有的代码都与问题相关,避免不相关的代码是一个好的行为,因为用户可以更容易地发现问题。很高兴你找到了答案:)关于你的最后一个问题。它们是一样的
LRESULT
LONG
=LONG它是函数返回值<代码>回调和
WINAPI
=\uu stdcall,这是一个。
  LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wparam, LPARAM lParam)
 {
 PAINTSTRUCT PS;
 switch(message)
 {
 case WM_CREATE:
    break;
 case WM_DESTROY:
    PostQuitMessage(0);
    break;
case WM_PAINT:
    BeginPaint(hWnd, &PS);
    EndPaint(hWnd, &PS);
    break;
case WM_COMMAND:
    if(LOWORD(wparam)==10000)
    {
        MessageBox(hWnd, TEXT("Button Pressed"), TEXT(""), 0);
    }
default:
    return DefWindowProc(hWnd, message, wparam, lParam);
}
return 0; 
  }
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT PS;
switch(message)
{
case WM_COMMAND:
    if(LOWORD(wParam)==10000)
    {
        MessageBox(hWnd, TEXT("Button Pressed"), TEXT(""), 0);
    }
    break;
case WM_CREATE:
    break;
// ...