From d65866183a24210c33c30adace88a0729e322385 Mon Sep 17 00:00:00 2001 From: paul Date: Tue, 25 Sep 2007 06:33:33 +0000 Subject: [PATCH] Qt: - reimplement sendmessage same way as postmessage is done git-svn-id: trunk@12174 - --- lcl/interfaces/qt/qtwidgets.pas | 2 +- lcl/interfaces/qt/qtwinapi.inc | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lcl/interfaces/qt/qtwidgets.pas b/lcl/interfaces/qt/qtwidgets.pas index 5b8ef04a7e..c74577352a 100644 --- a/lcl/interfaces/qt/qtwidgets.pas +++ b/lcl/interfaces/qt/qtwidgets.pas @@ -2060,7 +2060,7 @@ begin Msg.wParam := QLCLMessageEvent_getWParam(MessageEvent); Msg.lParam := QLCLMessageEvent_getLParam(MessageEvent); Msg.Result := 0; - DeliverMessage(Msg); + QLCLMessageEvent_setMsgResult(MessageEvent, DeliverMessage(Msg)); end; procedure TQtWidget.Activate; diff --git a/lcl/interfaces/qt/qtwinapi.inc b/lcl/interfaces/qt/qtwinapi.inc index 39865503bc..2790793c14 100644 --- a/lcl/interfaces/qt/qtwinapi.inc +++ b/lcl/interfaces/qt/qtwinapi.inc @@ -3752,15 +3752,18 @@ function TQtWidgetSet.SendMessage(HandleWnd: HWND; Msg: Cardinal; WParam: WParam; LParam: LParam): LResult; var Widget: TQtWidget absolute HandleWnd; - Message: TLMessage; + Event: QLCLMessageEventH; begin + Result := 0; if HandleWnd <> 0 then begin - Message.msg := Msg; - Message.wParam := WParam; - Message.lParam := LParam; - Message.Result := 0; - Result := Widget.DeliverMessage(Message); + Event := QLCLMessageEvent_create(QEventLCLMessage, Msg, wParam, lParam, 0); + try + QCoreApplication_sendEvent(Widget.Widget, Event); + Result := QLCLMessageEvent_getMsgResult(Event); + finally + QLCLMessageEvent_destroy(Event); + end; end; end;