Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Run Time paneller oluşturmak ve drag-drop ile panelin kordinatlarını bulmak?(ÇÖZÜLDÜ)
#1
Merhaba,

Delphi 7 ve paradox ile hazırladığım bir çalışmam mevcut. form açıldığında data.db içinde kayıtlı bulunan isim ve bilgilere göre (isim-left-top-renk) otomatik paneller oluşturuyorum. bu paneller içinden istediğimi form üzerinde sürükleyip bırakmak istiyordum bunu çözdüm ancak seçtiğim paneli sürükledikten sonra bu panelin yeni left ve top değerini tabloya kayıt etmem gerekiyor o kısmı çözemedim.

form üzerine oluşan panellerden herhangi birini seçip sürükleyip formda bir yere bıraktıktan sonra bu taşıdığım panelin son bırakıldığı yerin left ve top değerini alabilirmiyiz? yardımcı olursanız sevinirim.
Saygılarımla 



unit Unit58;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtDlgs, DB, DBTables, DBCtrls, Buttons, StdCtrls, ExtCtrls,
 ComCtrls, Mask, Grids, DBGrids, pngimage, RzBckgnd;

type
 TForm58 = class(TForm)
   Button1: TButton;
   DBGrid1: TDBGrid;
   DBEdit1: TDBEdit;
   DBEdit2: TDBEdit;
   DBEdit3: TDBEdit;
   DBEdit4: TDBEdit;
   DBEdit5: TDBEdit;
   PageControl1: TPageControl;
   TabSheet1: TTabSheet;
   DBImage5: TDBImage;
   TabSheet2: TTabSheet;
   DBImage6: TDBImage;
   TabSheet3: TTabSheet;
   DBImage7: TDBImage;
   TabSheet4: TTabSheet;
   DBImage8: TDBImage;
   DBEdit6: TDBEdit;
   Edit1: TEdit;
   Edit4: TEdit;
   Edit2: TEdit;
   DBEdit7: TDBEdit;
   Edit3: TEdit;
   Edit5: TEdit;
   Button2: TButton;
   Button3: TButton;
   Button4: TButton;
   Button5: TButton;
   Button6: TButton;
   Edit6: TEdit;
   DBGrid3: TDBGrid;
   Panel4: TPanel;
   Label2: TLabel;
   DBEdit9: TDBEdit;
   DBEdit10: TDBEdit;
   DBEdit12: TDBEdit;
   DBEdit11: TDBEdit;
   BitBtn11: TBitBtn;
   BitBtn6: TBitBtn;
   DBEdit8: TDBEdit;
   DataSource1: TDataSource;
   Table1: TTable;
   DataSource2: TDataSource;
   Table2: TTable;
   DataSource3: TDataSource;
   Table3: TTable;
   OpenPictureDialog1: TOpenPictureDialog;
   BitBtn5: TBitBtn;
   BitBtn12: TBitBtn;
   TabSheet5: TTabSheet;
   DBImage1: TDBImage;
   Button7: TButton;
   DBEdit13: TDBEdit;
   DBEdit14: TDBEdit;
   RzBackground1: TRzBackground;
   Image3: TImage;
   Image1: TImage;
   Image2: TImage;
   Image4: TImage;
   Label1: TLabel;
   Edit7: TEdit;
   Edit8: TEdit;

   procedure FormShow(Sender: TObject);
   procedure Button1Click(Sender: TObject);
   procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
   procedure KMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);


 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form58: TForm58;
   K:TPanel;



implementation

uses Unit59, Unit1, Unit12, Unit62;



{$R *.dfm}




procedure TForm58.KMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const 

sc_DragMove=$F012;

begin

ReleaseCapture;

(Sender as TPanel).Perform(WM_SYSCOMMAND, sc_DragMove, 0);


edit7.text:=(inttostr((Sender as TPanel).left)+'x'+inttostr((Sender as TPanel).top)); // bu satırı ekleyince şimdi sorun çözüldü.

end;


procedure TForm58.FormShow(Sender: TObject);
begin
button1.Click;
end;

procedure TForm58.Button1Click(Sender: TObject);
var
BMrk:String;
y: Variant;
begin
BMrk:=Table1.BookMark;
with table1 do
begin
First;
while not EOF do
begin
K:=TPanel.Create(form1);
K.left:=StrToInt(dbedit2.text);
K.Top:=StrToInt(dbedit3.text);
K.Width:= StrToInt(dbedit4.text);
K.Height:= StrToInt(dbedit5.text);
K.Color:=StrToInt(DBedit14.text);
K.ParentColor:=False;
K.ParentBackground:=False;
K.ParentBiDiMode:=False;
K.parent:=Form58.PageControl1.Pages[StrToInt(dbedit7.Text)];
K.caption:=dbedit1.text;
K.font.size:=StrToInt(edit5.text);
K.Font.Name:='Times New Roman';
K.Font.color:=clblack;
K.OnMouseDown:=KMouseDown;
K.Cursor:=crHandPoint;


y :=Table2.Lookup('Masano', K.caption,'Masano');

if VarIsNull (y) then

begin


end
else
begin

end;
next;
end;
Table1.Bookmark:=BMrk;
end;
end;
Cevapla


Bu Konudaki Yorumlar
Run Time paneller oluşturmak ve drag-drop ile panelin kordinatlarını bulmak?(ÇÖZÜLDÜ) - Yazar: Hsavci - 07-04-2021, Saat: 01:01

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQL Table Type parametre gecisi hakkında (Çözüldü) adelphiforumz 1 153 09-04-2026, Saat: 15:53
Son Yorum: adelphiforumz
  En çok satılan miktarı bulmak. OZCANK 3 738 08-02-2025, Saat: 16:35
Son Yorum: Hayati
  Windows Explorer dan delphi formuna dosya Drag&Drop işlemi örneği adelphiforumz 1 572 23-01-2025, Saat: 15:16
Son Yorum: yhackup
  FastReport Dinamik Sayıya Göre Etiket Bastırma [ÇÖZÜLDÜ] bünyamin68 2 752 09-01-2025, Saat: 13:47
Son Yorum: bünyamin68
  paslibvlcplayerin gec acilmasi sorunu-COZULDU sadikacar60 7 1.151 08-10-2024, Saat: 09:25
Son Yorum: mrmarman



Konuyu Okuyanlar: 1 Ziyaretçi