請問如何寫滑鼠移動到某個元件,此元件自動取得焦點 |
答題得分者是:feng
|
17kobe
初階會員 發表:86 回覆:73 積分:31 註冊:2007-07-30 發送簡訊給我 |
|
cobraliu
中階會員 發表:15 回覆:75 積分:83 註冊:2007-11-22 發送簡訊給我 |
提供一個方法,但這是想法而以,沒有去寫出來
你要計時2秒,你應該會用到Timer那一個元件,可以設定其中計時的秒數 設寫1秒,在Timer中去掃瞄Form中所有的元件的位置 如:Top,Left,Top Heigth,Left+Width 再判讀Mouse指標位置(記得有函數或找一下舊文章) IF的敘述應該會如下(以下是虛擬的程式碼) IF (muse.x >= Left And Mouse.x <= Left Width) And (Mouse.y >= Top And Mouse.y <= Top Heigth) THEN 再弄一個記錄的陣列Record去記錄目前在那一個元件,其中一欄位來記錄秒數 當為記錄秒數的元件為2時,就SetFocus到那個元件。 若記錄中有元件為1,而目前是另一個為1,那舊的就要清除為0 你可以試試...
------
初學、初學、學了很久...還是在初學階段..Orz |
feng
一般會員 發表:13 回覆:34 積分:14 註冊:2002-10-09 發送簡訊給我 |
開一個form
放一個 edit 一個 memo 一個timer 設定 timer的interval [code delphi] unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm2 = class(TForm) Edit1: TEdit; Memo1: TMemo; Timer1: TTimer; procedure Timer1Timer(Sender: TObject); procedure Memo1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } Procedure SetWinControlFocus(const WinObj:TWinControl); public { Public declarations } end; var Form2: TForm2; OBJ : TWinControl; implementation {$R *.dfm} Procedure TForm2.SetWinControlFocus(const WinObj:TWinControl); Begin if Obj = nil then Obj := WinOBJ; if Obj <> WinObj then Begin Obj := WinObj; Timer1.Enabled := False; Timer1.Enabled := TRUE; End; End; procedure TForm2.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin SetWinControlFocus(Sender As TWinControl); end; procedure TForm2.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin SetWinControlFocus(Sender As TWinControl); end; procedure TForm2.Timer1Timer(Sender: TObject); begin (OBJ As TWinControl).SetFocus; end; end. [/code] |
17kobe
初階會員 發表:86 回覆:73 積分:31 註冊:2007-07-30 發送簡訊給我 |
|
feng
一般會員 發表:13 回覆:34 積分:14 註冊:2002-10-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |