看看我这条自定消息为什么没有执行到
主窗体TfrmMain
公用窗体TfrmInPutBarCode
在调用公用窗体的窗体TfrmInClinicWareHouse上按热键'+'打开公用窗体TfrmInPutBarCode
procedure TfrmMain.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message = WM_KEYDOWN then
case Msg.wParam of
VK_Add: begin
frmInPutBarCode:=TfrmInPutBarCode.Create(Application);
frmInPutBarCode.ShowModal;
frmInPutBarCode.Free;
SendMessage(Msg.hwnd, WM_USER+100, 0, 0); // 发送自定义消息给当前窗体
end;
end;
end;procedure TfrmInPutBarCode.edtInPutBarCodeKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
begin
if edtInPutBarCode.Text <> '' then
begin//inputbarcodestr 为全局变量
frmMain.inputbarcodestr := edtInPutBarCode.Text;
Close;
end
else
begin//inputbarcodestr 为全局变量
frmMain.inputbarcodestr := '1234567890119';
Close;
end;
end;
end;{自定义消息处理过程:捕获输入的条码}
procedure TfrmInClinicWareHouse.Proc(var Msg: TMessage);
begin
ShowMessage(frmMain.inputbarcodestr); // inputbarcodestr 为全局变量
end;
主窗体TfrmMain
公用窗体TfrmInPutBarCode
在调用公用窗体的窗体TfrmInClinicWareHouse上按热键'+'打开公用窗体TfrmInPutBarCode
procedure TfrmMain.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message = WM_KEYDOWN then
case Msg.wParam of
VK_Add: begin
frmInPutBarCode:=TfrmInPutBarCode.Create(Application);
frmInPutBarCode.ShowModal;
frmInPutBarCode.Free;
SendMessage(Msg.hwnd, WM_USER+100, 0, 0); // 发送自定义消息给当前窗体
end;
end;
end;procedure TfrmInPutBarCode.edtInPutBarCodeKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
begin
if edtInPutBarCode.Text <> '' then
begin//inputbarcodestr 为全局变量
frmMain.inputbarcodestr := edtInPutBarCode.Text;
Close;
end
else
begin//inputbarcodestr 为全局变量
frmMain.inputbarcodestr := '1234567890119';
Close;
end;
end;
end;{自定义消息处理过程:捕获输入的条码}
procedure TfrmInClinicWareHouse.Proc(var Msg: TMessage);
begin
ShowMessage(frmMain.inputbarcodestr); // inputbarcodestr 为全局变量
end;
解决方案 »
- 如何实现 象windows 自带的记事本那样解析 不可见字符(#31,#30) 为小黑框呢 ?
- Delphi如何解决 License id invalid or has expired
- 使用IdFTP控件进行FTP下载中遇到的问题,求教!!
- 如何截取这样的数据?
- 最近看到一个程序函数,里面有几处不太明白,特来请教!!!
- quickreport报表,多列显示时,怎样控制数据排列的方向(垂直方向优先或水平方向优先)?
- 三角函数正弦和余弦函数
- 一个很实用的程序(建立SQL结构)和源代码送给大家,具体请进
- 有关打包的问题,各位高手请帮忙,不胜感激,高分相送.
- DELPHI到底有前途吗?
- 关于edit控件的编辑问题!!-------------------------在线等待
- with MainModule.CommQuery do
Application.OnMessage := ApplicationEvents1Message这句。