Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
[ÇÖZÜLDÜ] basılı tutma
#1
procedure TForm1.Panel_DublorMouseMove(Sender: TObject; Shift: TShiftState; X,   Y: Integer);
var clw,clh:integer;  MouseCoor:tpoint;
begin
  if ssLeft in shift then
  begin
  showmessage('d') ;

mouse bir kere  tıklandığındada message geliyo oysaki ben " mouse basılı ise " demek istiyorum

mousedown ve mouseup boolean değer atadıysamda çözemedim bir yerede hata yapıyorum ama nerde
Cevapla
#2
(27-11-2019, Saat: 11:00)info@guzelceker.com Adlı Kullanıcıdan Alıntı:
procedure TForm1.Panel_DublorMouseMove(Sender: TObject; Shift: TShiftState; X,   Y: Integer);
var clw,clh:integer;  MouseCoor:tpoint;
begin
  if ssLeft in shift then
  begin
  showmessage('d') ;

mouse bir kere  tıklandığındada message geliyo oysaki ben " mouse basılı ise " demek istiyorum

mousedown ve mouseup boolean değer atadıysamda çözemedim bir yerede hata yapıyorum ama nerde

Merhabalar,

Umarım yanlış anlamamışımdır ve kodlar işinize yarar.

var
       Form1: TForm1;
       pressed: boolean = false;

implementation

{$R *.dfm}

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
       pressed := false;
end;

procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var
       p: Tpoint;
begin
       ClientToScreen(p);
       pressed := True;
        if pressed then
       begin
               if (X <= p.X) and (Y <= p.Y) then ShowMessage('Fare tıklandı!');
       end;
end;

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#3
(27-11-2019, Saat: 11:49)hi_selamlar Adlı Kullanıcıdan Alıntı:
(27-11-2019, Saat: 11:00)info@guzelceker.com Adlı Kullanıcıdan Alıntı:
procedure TForm1.Panel_DublorMouseMove(Sender: TObject; Shift: TShiftState; X,   Y: Integer);
var clw,clh:integer;  MouseCoor:tpoint;
begin
  if ssLeft in shift then
  begin
  showmessage('d') ;

mouse bir kere  tıklandığındada message geliyo oysaki ben " mouse basılı ise " demek istiyorum

mousedown ve mouseup boolean değer atadıysamda çözemedim bir yerede hata yapıyorum ama nerde

Merhabalar,

Umarım yanlış anlamamışımdır ve kodlar işinize yarar.

var
       Form1: TForm1;
       pressed: boolean = false;

implementation

{$R *.dfm}

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
       pressed := false;
end;

procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var
       p: Tpoint;
begin
       ClientToScreen(p);
       pressed := True;
        if pressed then
       begin
               if (X <= p.X) and (Y <= p.Y) then ShowMessage('Fare tıklandı!');
       end;
end;

Kolay gelsin.

dediğim bu değil

"MouseMove" olayında 
 if pressed =false then
begin
//işlemler 
end

aynı repeat untildeki gibi şart gerçekleşsede bir kere çalıştırıyor
yani mouseup ile pressed=true yapsamda mousemove işlem devam ediyor sonra duruyor //saliselik
Cevapla
#4
(27-11-2019, Saat: 12:07)info@guzelceker.com Adlı Kullanıcıdan Alıntı:
(27-11-2019, Saat: 11:49)hi_selamlar Adlı Kullanıcıdan Alıntı: Merhabalar,

Umarım yanlış anlamamışımdır ve kodlar işinize yarar.

var
       Form1: TForm1;
       pressed: boolean = false;

implementation

{$R *.dfm}

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
       pressed := false;
end;

procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var
       p: Tpoint;
begin
       ClientToScreen(p);
       pressed := True;
        if pressed then
       begin
               if (X <= p.X) and (Y <= p.Y) then ShowMessage('Fare tıklandı!');
       end;
end;

Kolay gelsin.

dediğim bu değil

"MouseMove" olayında 
 if pressed =false then
begin
//işlemler 
end

aynı repeat untildeki gibi şart gerçekleşsede bir kere çalıştırıyor
yani mouseup ile pressed=true yapsamda mousemove işlem devam ediyor sonra duruyor //saliselik

Merhabalar,

Yapmak istediğiniz tam olarak nedir?

- Panel taşıma?
- Panel taşımaya başlandığının tesbiti?
- Panel tıklandığında?
   ...
   ...

Detaylı olarak bilgi verirseniz daha faydalı olacaktır.

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#5
(27-11-2019, Saat: 12:15)hi_selamlar Adlı Kullanıcıdan Alıntı:
(27-11-2019, Saat: 12:07)info@guzelceker.com Adlı Kullanıcıdan Alıntı: dediğim bu değil

"MouseMove" olayında 
 if pressed =false then
begin
//işlemler 
end

aynı repeat untildeki gibi şart gerçekleşsede bir kere çalıştırıyor
yani mouseup ile pressed=true yapsamda mousemove işlem devam ediyor sonra duruyor //saliselik

Merhabalar,

Yapmak istediğiniz tam olarak nedir?

- Panel taşıma?
- Panel taşımaya başlandığının tesbiti?
- Panel tıklandığında?
   ...
   ...

Detaylı olarak bilgi verirseniz daha faydalı olacaktır.

Kolay gelsin.


panel taşıma ama biraz karışık işlemler başka bir metod deniycem
Cevapla
#6
(27-11-2019, Saat: 12:22)info@guzelceker.com Adlı Kullanıcıdan Alıntı: panel taşıma ama biraz karışık işlemler başka bir metod deniycem


Merhabalar,

Yardım için talepte bulunup sonrasın da bu cevap, Confused  ilginç.

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#7
(27-11-2019, Saat: 12:26)hi_selamlar Adlı Kullanıcıdan Alıntı:
(27-11-2019, Saat: 12:22)info@guzelceker.com Adlı Kullanıcıdan Alıntı: panel taşıma ama biraz karışık işlemler başka bir metod deniycem


Merhabalar,

Yardım için talepte bulunup sonrasın da bu cevap, Confused  ilginç.

Kolay gelsin.

sorunumu anlatamadım eğer anlaşıldıysa ve çözüm varsa sıkıntı yok kullanırım kodu
Cevapla
#8
(27-11-2019, Saat: 11:00)info@guzelceker.com Adlı Kullanıcıdan Alıntı:
procedure TForm1.Panel_DublorMouseMove(Sender: TObject; Shift: TShiftState; X,   Y: Integer);
var clw,clh:integer;  MouseCoor:tpoint;
begin
  if ssLeft in shift then
  begin
  showmessage('d') ;

mouse bir kere  tıklandığındada message geliyo oysaki ben " mouse basılı ise " demek istiyorum

mousedown ve mouseup boolean değer atadıysamda çözemedim bir yerede hata yapıyorum ama nerde

type
  TKeyRecord = record
   Lo : Byte;
   Hi : Byte;
 end;

procedure TForm3.Timer1Timer(Sender: TObject);
begin
 if TKeyRecord(GetKeyState(VK_LBUTTON )).Hi = 255 then
   Caption := 'Mouse basılı'
 else
   Caption := 'Mouse basılı değil';
end;
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#9
info@guzelceker.com; önce açtığınız eski konularda size verilen cevapları sonuçlandırsanız ???
http://www.delphican.com/showthread.php?tid=4226
http://www.delphican.com/showthread.php?tid=4219
vs...
There's no place like 127.0.0.1
WWW
Cevapla
#10
(27-11-2019, Saat: 13:19)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı:
(27-11-2019, Saat: 11:00)info@guzelceker.com Adlı Kullanıcıdan Alıntı:
procedure TForm1.Panel_DublorMouseMove(Sender: TObject; Shift: TShiftState; X,   Y: Integer);
var clw,clh:integer;  MouseCoor:tpoint;
begin
  if ssLeft in shift then
  begin
  showmessage('d') ;

mouse bir kere  tıklandığındada message geliyo oysaki ben " mouse basılı ise " demek istiyorum

mousedown ve mouseup boolean değer atadıysamda çözemedim bir yerede hata yapıyorum ama nerde

type
  TKeyRecord = record
   Lo : Byte;
   Hi : Byte;
 end;

procedure TForm3.Timer1Timer(Sender: TObject);
begin
 if TKeyRecord(GetKeyState(VK_LBUTTON )).Hi = 255 then
   Caption := 'Mouse basılı'
 else
   Caption := 'Mouse basılı değil';
end;

çok tşk ederim .. oldu
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  AdoQuery ile ilgili bir sorun. (Çözüldü) Bay_Y 4 111 17-04-2024, Saat: 10:58
Son Yorum: Bay_Y
  Fastreport İçindekiler Sayfası Oluşturma [ÇÖZÜLDÜ] bydelphi 1 237 18-03-2024, Saat: 12:11
Son Yorum: bydelphi
  Çok Satırlı Filtreleme [Çözüldü] bünyamin68 12 1.353 14-02-2024, Saat: 22:42
Son Yorum: mustafaozpinar
  [ÇÖZÜLDÜ] macos işletim sistemine program yazmak shooterman 5 514 02-02-2024, Saat: 09:54
Son Yorum: shooterman
  COZULDU veritabani prg yerine ne kullanabilirim. sadikacar60 8 776 29-01-2024, Saat: 18:41
Son Yorum: sadikacar60



Konuyu Okuyanlar: 1 Ziyaretçi