看看我这条自定消息为什么没有执行到
看看我这条自定消息为什么没有执行到
主窗体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;