关于 EditBox 的~~~~ 小弟不知在 EditBox 的内容被选中时会发送什么消息,想在它选中的内容变化时作点事情请指教~! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将会触发EN_SELCHANGE通知消息:switch (Msg){ case WM_COMMAND: { if (HIWORD(wParam) == EN_SELCHANGE) // 就在这里处理你想做的事情 } break; // ...} 好象不行啊我在前面加上了 if(LOWORD(wParam) == IDC_EDIT) 用Debug 调试的时候还是不能运行到EN_SELCHANGE的下一步能不能具体一点?谢谢! nId = ::GetDlgCtrlID(pMsg->hwnd);id好像是这么取的吧 抱歉,EN_SELCHANGE是richedit的,对于EditBox好像没有现成的消息可以用,你可以参考一下这段代码:case WM_COMMAND:{ if (LOWORD(wParam) == IDC_EDIT1) { int nStart, nEnd; TCHAR str[200], strSel[100]; SendDlgItemMessage(hDlg, IDC_EDIT1, EM_GETSEL, (WPARAM)&nStart, (LPARAM)&nEnd); GetDlgItemText(hDlg, IDC_EDIT1, str, 200); lstrcpyn(strSel, &str[nStart], nEnd - nStart); // 现在strSel里就是IDC_EDIT1中选择的文本了 break; }}break; 读取配置文件 是放在内存中 还是每次都读取 一个以服务启动的程序、但是开机后托盘没有显示? 奇怪的问题,CArray竟然没有RemoveAt,InsertAt方法。晕死了 关于多页打印编程问题请大家帮忙!!在线等 请教DBGrid+ADO的用法 请教一下关于C语言函数调用的问题 菜鸟问题,怎样在一个文本文件后边加上一个字符串? 如何更改静态文本字体? MSDN不能用 sdk的问题 谁能告诉我IFontDisp*怎么用? 怎样将文件保存成excel格式?thx
switch (Msg)
{
case WM_COMMAND:
{
if (HIWORD(wParam) == EN_SELCHANGE)
// 就在这里处理你想做的事情
}
break;
// ...
}
我在前面加上了 if(LOWORD(wParam) == IDC_EDIT)
用Debug 调试的时候还是不能运行到EN_SELCHANGE的下一步能不能具体一点?
谢谢!
id好像是这么取的吧
case WM_COMMAND:
{
if (LOWORD(wParam) == IDC_EDIT1)
{
int nStart, nEnd;
TCHAR str[200], strSel[100];
SendDlgItemMessage(hDlg, IDC_EDIT1, EM_GETSEL, (WPARAM)&nStart, (LPARAM)&nEnd);
GetDlgItemText(hDlg, IDC_EDIT1, str, 200);
lstrcpyn(strSel, &str[nStart], nEnd - nStart);
// 现在strSel里就是IDC_EDIT1中选择的文本了
break;
}
}
break;