Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
[ÇÖZÜLDÜ] ptinrect flowpanel işlemiyor
#11
(27-11-2019, Saat: 00:22)narkotik Adlı Kullanıcıdan Alıntı:
(26-11-2019, Saat: 20:18)SimaWB Adlı Kullanıcıdan Alıntı: Bu drag-drop esnasında çalışır. Burada asıl işe yaracak olan FindVCLWindow'dur. Yalnız o da sadece TWinControl'den türemiş olan bileşenlerde işe yarar. Örneğin bir TLabel üzerinde iseniz FindVCLWindow'dan Nil dönecektir.

Normalde'de çalışıyor diye hatırlıyorum.(Olmuyormuş TMSScripter'da bu şekilde oluyordu aklımda kalmış)

belki birinin işe yarar


private
    { Private declarations }
   procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
   procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;

procedure TForm1.CMMouseEnter(var Message: TMessage);
 var
 rc:trect;
  a:string; i,b:integer;
begin
inherited;

if Form1.PageControlEXanapanel.Pages[0].Showing=true then
begin
   for I := 0 to form1.FlowPanel1.ControlCount-1 do
   begin
     MyPoint := form1.FlowPanel1.Controls[i].ScreenToClient(Mouse.CursorPos);
     rc:= form1.FlowPanel1.Controls[i].ClientRect;
      if PtInRect(rc, MyPoint) then
      begin
       FormController.Panel7.Parent           := tpanel(tpanel(form1.FlowPanel1.Controls[i]).Controls[1])    ;
       FormController.Panel7.Width            :=34;
       FormController.Panel7.Height           :=tpanel(form1.FlowPanel1.Controls[i]).Controls[1].Height;
       FormController.Panel7.left             :=0;
       FormController.Panel7.top              :=0;
       FormController.Panel7.Visible:=true;
          a:= FlowPanel1.Controls[i].Name;
          b:= strtoint(MidStr(a,7,3));
          AktifSayfaNo:= (b+1);
       exit
       end else
       begin
         FormController.Panel7.Visible:=false;
      end;
   end;
end;
end;

procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);
var
 Ch: Bool;
begin
 if csDesigning in ComponentState then
   Message.Result := HTCLIENT
 else begin
   Ch:= False;

   //Do checks and pass `Ch:= True;` if something changed...

   if Ch then Invalidate;
 end;
end;
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.352 14-02-2024, Saat: 22:42
Son Yorum: mustafaozpinar
  [ÇÖZÜLDÜ] macos işletim sistemine program yazmak shooterman 5 513 02-02-2024, Saat: 09:54
Son Yorum: shooterman
  COZULDU veritabani prg yerine ne kullanabilirim. sadikacar60 8 775 29-01-2024, Saat: 18:41
Son Yorum: sadikacar60



Konuyu Okuyanlar: 1 Ziyaretçi