2
我有了这个代码,当我拖动MyThingThatDragsIt
德尔福窗口失去焦点
procedure TMainForm.ApplicationMessage(var Msg: TMsg; var Handled: Boolean);
var
ScreenPt : TPoint;
DragControl : TControl;
begin
inherited;
if Msg.message = WM_LBUTTONDOWN then
begin
ScreenPt := ScreenToClient(Msg.pt);
DragControl := FindDragTarget(Msg.pt , false);
if Assigned(DragControl) and
((DragControl = MyThingThatDragsIt)
) then
begin
ReleaseCapture;
self.Perform(WM_SYSCOMMAND, SC_MOVE or $0002, 0);
end;
end
end;
这一工程确定,但是当我放手,我的计划已经失去了它的焦点移到我的主窗口我只需点击表格上的一次即可点击任何其他按钮。
任何想法这里有什么问题吗?我跟着steps from this question
难道不是一个简单的SetFocus的调用后执行这样的伎俩? – 2013-04-04 21:42:05
@UweRaabe是我徒劳地尝试的前40个VCL命令之一:) – 2013-04-04 21:52:41