我怎么可以创建在Win32默认行为的一个按钮 [英] How can I create a button with default behavior in win32

查看:242
本文介绍了我怎么可以创建在Win32默认行为的一个按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在试图创建默认行为即当用户preSS输入按钮,按钮被激发。
我创建与WS_TABSTOP风格的按钮,把它用在BS_DEFPUSHBUTTON消息BM_SETSTYLE有wParam参数
但它仍然没有工作。

  HWND hwnd_Ok = CreateWindow的(按钮,确定后,WS_VISIBLE | WS_CHILD | WS_TABSTOP,285,195,70,25,HWND,(HMENU)OK_BUTTON,NULL,NULL) ;
SendMessage函数(hwnd_Ok,BM_SETSTYLE,(WPARAM)BS_DEFPUSHBUTTON,TRUE);


解决方案

我想处理 WM_GETDLG code 获取 WM_KEYDOWN VK_RETURN 在控制的WndProc消息。示例code:

 情况下WM_GETDLG code:{
  如果(wParam中== VK_RETURN){
    返回DLGC_WANTALLKEYS;
  }
}
打破;

I have been trying to create a button with the default behavior i.e when the user press ENTER, the button is fired. I created the button with the WS_TABSTOP style and sent it the BM_SETSTYLE message with BS_DEFPUSHBUTTON has WPARAM parameter but it's still not working.

HWND hwnd_Ok = CreateWindow("button", "Ok", WS_VISIBLE | WS_CHILD | WS_TABSTOP, 285, 195, 70, 25, hwnd, (HMENU)OK_BUTTON, NULL, NULL);


SendMessage(hwnd_Ok, BM_SETSTYLE, (WPARAM)BS_DEFPUSHBUTTON, TRUE);

解决方案

I am trying to handle WM_GETDLGCODE for getting WM_KEYDOWN with VK_RETURN message in your control's WndProc. Sample code:

case WM_GETDLGCODE: {
  if(wParam==VK_RETURN) {
    return DLGC_WANTALLKEYS;
  }
}
break;

这篇关于我怎么可以创建在Win32默认行为的一个按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆