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