Cursorun Yanında koordinatlarını nasıl gösterebiliriz?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 360
- Kayıt: 10 Nis 2006 09:07
Cursorun Yanında koordinatlarını nasıl gösterebiliriz?
İmlec form üzerinde gezerken yanında koordinatlarının gözükmesini istiyorum.
Bunu hint özelliğinin pause süresiyle oynayarak yapmaya çalıştım ama istediğim gibi olmadı.
imleci form üzerinde gezdiriken Cursorun yanında sürekli olarak koordinatlarını gösterebileceğim bi compopnent yada tavsiye edeceğiniz bi uygulama var mı?
Teşekkürler...
Bunu hint özelliğinin pause süresiyle oynayarak yapmaya çalıştım ama istediğim gibi olmadı.
imleci form üzerinde gezdiriken Cursorun yanında sürekli olarak koordinatlarını gösterebileceğim bi compopnent yada tavsiye edeceğiniz bi uygulama var mı?
Teşekkürler...
CM_HINT_SHOW mesajını yakalayın. TForm1 ile end arasına imleci getirin ve control+space tuşuna basın. CMHINT yazin, zaten listede ilk mesaj handler olarak CM_HINT_SHOW gelecektir.
ReShowTimeout, ne kadar süreyle tazeleyeciğini belirtir.
HintStr ise ipucu olarak ne görüntüleneciğini belirtir.
rengi vs'yi de değiştirebilirsiniz.
Kolay gelsin
ReShowTimeout, ne kadar süreyle tazeleyeciğini belirtir.
HintStr ise ipucu olarak ne görüntüleneciğini belirtir.
rengi vs'yi de değiştirebilirsiniz.
Kod: Tümünü seç
procedure TForm1.CMHintShow(var Message: TCMHintShow);
begin
with Message.HintInfo^ do begin
ReshowTimeout := 1;
HintStr := Format('%d:%d',[Mouse.CursorPos.X,Mouse.CursorPos.Y]);
end;
end;
@t-hex +1
- ScreenToClient deyip koordinatları form sınırlarına dönüştürmek lazım gelebilir.
- ScreenToClient deyip koordinatları form sınırlarına dönüştürmek lazım gelebilir.
Kod: Tümünü seç
procedure CMHintShow(var Msg: TCMHintShow); message CM_HINTSHOW;
private
{ Private declarations }
public
{ Public declarations }
end;
Kod: Tümünü seç
procedure TForm1.CMHintShow(var Msg: TCMHintShow);
Var
P : TPoint;
begin
P := ScreenToClient( Mouse.CursorPos );
with Msg.HintInfo^ do begin
ReshowTimeout := 1;
HintStr := Format('%d:%d',[P.X, P.Y]);
end;
end;
-
- Üye
- Mesajlar: 360
- Kayıt: 10 Nis 2006 09:07
Cevaplar için herkese çok teşekkürler.
Beni büyük bi uğraştan kurtardınız.
Run time da create edeceğim nesnelerin ölçülerini kullanıcıya göstermek için kullanacam.Kendime göre uyarladım.
Beni büyük bi uğraştan kurtardınız.
Run time da create edeceğim nesnelerin ölçülerini kullanıcıya göstermek için kullanacam.Kendime göre uyarladım.
Kod: Tümünü seç
procedure Tanasayfa.CMHintShow(var Msg: TCMHintShow);
Var
P : TPoint;
begin
P := ScreenToClient( Mouse.CursorPos );
if PozisyonGoster=true then
begin
with Msg.HintInfo^ do begin
ReshowTimeout := 1;
// HintStr := Format('%d:%d',[P.X, P.Y]);
HintStr:=Format('Genişlik: %d: Yükseklik: %d',[bitx , bity]);
end;
end;
end;
procedure TAnaSayfa.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
BasX:=x;
basy:=y;
PozisyonGoster:=true;
CmdShow:=1;
end;
procedure TAnaSayfa.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Bitx:=abs(x-basx);
bity:=abs(y-basy);
if ResimCiz=true then ImageNesnesiCreate(sender);
if FlashCiz=true then FlashNesnesiCreate(sender);
PozisyonGoster:=false;
end;
procedure TAnaSayfa.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
Bitx:=abs(x-basx);
bity:=abs(y-basy);
end;
PozisyonGoster:boolean=false;
Ek olarak hoş olabileceğini değerlendirdiğim bir eklenti...
Afiyet olsun. Belki lazım olur...

Kod: Tümünü seç
procedure Tanasayfa.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Bitx := abs(x-basx);
Bity := abs(y-basy);
if ssLeft in Shift then
begin
anasayfa.Repaint;
anasayfa.Canvas.DrawFocusRect( Rect( BasX, BasY, X, Y ) );
end;
end;
-
- Üye
- Mesajlar: 360
- Kayıt: 10 Nis 2006 09:07