14 个解决方案
#1
你看看它的VK_RIGHT对应于什么函数,在什么地方截获VK_RIGHT,然后向该地方发一个消息,消息码
wParam为VK_RIGHT即可
wParam为VK_RIGHT即可
#2
我用
SendMessage(this->GetSafeHwnd(),WM_KEYDOWN, VK_RIGHT, 0);
SendMessage(this->GetSafeHwnd(),WM_KEYUP, VK_RIGHT, 0);
都不行
SendMessage(this->GetSafeHwnd(),WM_KEYDOWN, VK_RIGHT, 0);
SendMessage(this->GetSafeHwnd(),WM_KEYUP, VK_RIGHT, 0);
都不行
#3
gz
#4
VK_RIGHT好像是右方向的箭头的虚拟键
#5
void CDddDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
MessageBox("fan",0,MB_OK);
if(nChar==VK_RIGHT)
MessageBox("VK_RIGHT",0,MB_OK);
}
void CDddDlg::OnButton1()
{
::SendMessage(this->m_hWnd,WM_KEYDOWN,VK_RIGHT,0);
}
#6
up
#7
如果还不会,你就实际点一下,同时用spy捕获消息,然后按照捕获的格式和数值发送。
#8
this->GetSafeHwnd()
^^^^
是不是this 指针不是要响应事件的控件窗体指针
^^^^
是不是this 指针不是要响应事件的控件窗体指针
#9
你的hWnd一定要为你所要响应VK_RIGHT的窗口句柄
#10
向右:
CEdit *pEdit =(CEdit *) GetDlgItem(IDC_EDIT1);
pEdit->SendMessage(WM_KEYDOWN,VK_RIGHT,0);
pEdit->SetFocus();
CEdit *pEdit =(CEdit *) GetDlgItem(IDC_EDIT1);
pEdit->SendMessage(WM_KEYDOWN,VK_RIGHT,0);
pEdit->SetFocus();
#11
感谢各位!
消息时发出了,但是右方向键没有用。我还是要单击右方向键才能把光标移到图片的后面。是不是选用VK_RIGHT不对?
我写的
previewForm.SetFocus();
::SendMessage(previewForm.GetSafeHwnd(),WM_KEYDOWN,VK_RIGHT,0);
消息时发出了,但是右方向键没有用。我还是要单击右方向键才能把光标移到图片的后面。是不是选用VK_RIGHT不对?
我写的
previewForm.SetFocus();
::SendMessage(previewForm.GetSafeHwnd(),WM_KEYDOWN,VK_RIGHT,0);
#12
我用的是一个IE控件。previewForm.Image(file)可以加载一个图片,在IE控件中点击右方向键,就可以用previewForm.Image(file)在图片后面增加一幅,否则就覆盖原来的。
#13
猜测:可能处理右方向键的窗体并不是previewForm。
#14
增加PostMessage就可以了。
#1
你看看它的VK_RIGHT对应于什么函数,在什么地方截获VK_RIGHT,然后向该地方发一个消息,消息码
wParam为VK_RIGHT即可
wParam为VK_RIGHT即可
#2
我用
SendMessage(this->GetSafeHwnd(),WM_KEYDOWN, VK_RIGHT, 0);
SendMessage(this->GetSafeHwnd(),WM_KEYUP, VK_RIGHT, 0);
都不行
SendMessage(this->GetSafeHwnd(),WM_KEYDOWN, VK_RIGHT, 0);
SendMessage(this->GetSafeHwnd(),WM_KEYUP, VK_RIGHT, 0);
都不行
#3
gz
#4
VK_RIGHT好像是右方向的箭头的虚拟键
#5
void CDddDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
MessageBox("fan",0,MB_OK);
if(nChar==VK_RIGHT)
MessageBox("VK_RIGHT",0,MB_OK);
}
void CDddDlg::OnButton1()
{
::SendMessage(this->m_hWnd,WM_KEYDOWN,VK_RIGHT,0);
}
#6
up
#7
如果还不会,你就实际点一下,同时用spy捕获消息,然后按照捕获的格式和数值发送。
#8
this->GetSafeHwnd()
^^^^
是不是this 指针不是要响应事件的控件窗体指针
^^^^
是不是this 指针不是要响应事件的控件窗体指针
#9
你的hWnd一定要为你所要响应VK_RIGHT的窗口句柄
#10
向右:
CEdit *pEdit =(CEdit *) GetDlgItem(IDC_EDIT1);
pEdit->SendMessage(WM_KEYDOWN,VK_RIGHT,0);
pEdit->SetFocus();
CEdit *pEdit =(CEdit *) GetDlgItem(IDC_EDIT1);
pEdit->SendMessage(WM_KEYDOWN,VK_RIGHT,0);
pEdit->SetFocus();
#11
感谢各位!
消息时发出了,但是右方向键没有用。我还是要单击右方向键才能把光标移到图片的后面。是不是选用VK_RIGHT不对?
我写的
previewForm.SetFocus();
::SendMessage(previewForm.GetSafeHwnd(),WM_KEYDOWN,VK_RIGHT,0);
消息时发出了,但是右方向键没有用。我还是要单击右方向键才能把光标移到图片的后面。是不是选用VK_RIGHT不对?
我写的
previewForm.SetFocus();
::SendMessage(previewForm.GetSafeHwnd(),WM_KEYDOWN,VK_RIGHT,0);
#12
我用的是一个IE控件。previewForm.Image(file)可以加载一个图片,在IE控件中点击右方向键,就可以用previewForm.Image(file)在图片后面增加一幅,否则就覆盖原来的。
#13
猜测:可能处理右方向键的窗体并不是previewForm。
#14
增加PostMessage就可以了。