Application.OnMessage:= 放在主程序中对子程序部分无效(前面部分有效,红色无效) 如在子程序中有效。
不想分别放在子窗口中,另外前面部分是在主窗口中,对所以子窗口有效,在子窗口加了黄色部分,好象就把主窗口的ommessage屏蔽了,我就把红色部分放在主窗口中,但无效。又都放到子窗口中,绿色黄色部分都是有效的
现都想主程序中,或部分放在主程序中,目前只能分别放在子窗口中,太累。 if Msg.Message=WM_KEYDOWN then
begin
if (Msg.wParam=VK_RETURN) then Keybd_event(VK_TAB, 0, 0, 0);
end
else
if (Msg.message = WM_MOUSEWHEEL) then
for iii:=ComponentCount-1 downto 0 do
if ((Components[iii] is TDBGrid) and (Components[iii] as TDBGrid).Focused) then
begin
if Msg.wParam >0 then
SendMessage((Components[iii] as TDBGrid).Handle,WM_KEYDOWN,VK_UP,0)
else
SendMessage((Components[iii] as TDBGrid).Handle,WM_KEYDOWN,VK_DOWN,0);
Handled:=True;
end;
不想分别放在子窗口中,另外前面部分是在主窗口中,对所以子窗口有效,在子窗口加了黄色部分,好象就把主窗口的ommessage屏蔽了,我就把红色部分放在主窗口中,但无效。又都放到子窗口中,绿色黄色部分都是有效的
现都想主程序中,或部分放在主程序中,目前只能分别放在子窗口中,太累。 if Msg.Message=WM_KEYDOWN then
begin
if (Msg.wParam=VK_RETURN) then Keybd_event(VK_TAB, 0, 0, 0);
end
else
if (Msg.message = WM_MOUSEWHEEL) then
for iii:=ComponentCount-1 downto 0 do
if ((Components[iii] is TDBGrid) and (Components[iii] as TDBGrid).Focused) then
begin
if Msg.wParam >0 then
SendMessage((Components[iii] as TDBGrid).Handle,WM_KEYDOWN,VK_UP,0)
else
SendMessage((Components[iii] as TDBGrid).Handle,WM_KEYDOWN,VK_DOWN,0);
Handled:=True;
end;
解决方案 »
- 高手们,请教一个程序如何在本地跟串口设备通讯,而客户可以IE的方式浏览页面的问题啊,谢谢
- delphi不能在设计模式下运行项目,求救
- 急急急,在线等!解决马上给分!怎么样使执行过程的时候显示进度条?
- delphi7中显示报表时报错.搞不懂请帮忙给看看.
- 一个关于ReportMachine的简单问题,顶者有分!
- Delphi能制作动态的网页吗?我是新手!!
- 两个通过局域网上网的用户建立通讯?通讯问题!!用什么协议,如何做?
- win2000里面怎样更换墙纸?好像和98的不一样。。。
- 求不用任何控件,直接对串口操作的一个典型的例子
- 老革命遇到新问题——DELPHI的限制?
- 关于2个窗体共享串口设备问题。有高手帮忙解决么
- Delphi如何自动隐藏MDI主窗体的toolbar工具栏?
begin
if Msg.wParam >0 then
SendMessage(Screen.ActiveForm.ActiveControl.Handle,WM_KEYDOWN,VK_UP,0)
else
SendMessage(Screen.ActiveForm.ActiveControl.Handle,WM_KEYDOWN,VK_DOWN,0);
Handled:=True;
end;