PDA

View Full Version : drag کردن فیلم و صوت و تصویر درون timeline



جواد ملاولی
پنج شنبه 28 شهریور 1387, 22:48 عصر
سلام. چطور میشه یه فایل ویدیویی یا عکس یا صوت رو مثل برنامه ulead video studio توی timeline کشید؟

shervin farzin
پنج شنبه 28 شهریور 1387, 23:26 عصر
سلام
فرايند Drag & Drop كه به همون شكل معمولي امكان پذيره و براي اطلاعات بيشتر ميتونين
در سايت همين عنوان رو جستجو كنين . اما نكته اي كه بايد در نظر داشته باشيد اينه كه
در حالت معمول شما Handle فرم رو استفاده ميكنين تا فايل هر جاي فرم كه خواستيد Drop بشه
ولي در اين حالت كه شما مورد نظرتون هست بايد از Handle همون كامپوننتي استفاده كنين كه
مي خواين به جاي Timeline عمل كنه .
موفق باشيد .

جواد ملاولی
جمعه 29 شهریور 1387, 07:33 صبح
سلام دوست عزیز. از لطفتون ممنونم. میشه بیشتر راهنمایی کنید؟

shervin farzin
جمعه 29 شهریور 1387, 19:00 عصر
سلام
به اين كد نگاه كنيد :


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Shellapi, jpeg, StdCtrls;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
Procedure mydrag(var x:TMessage);message WM_DROPFILES;
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(form1.Handle,true);
end;

Procedure TForm1.mydrag(var x: TMessage);
var
file_name:array [0..200] of char;
begin
DragQueryFile(x.WParam,0,file_name,200);
DragFinish(x.WParam);
end;

end.


در اين كد دو بخش اصلي داريم . اول كدي كه در On Create Event فرم نوشته شده ، در اين كد من به فرم ميگم كه اگه فايلي رو كاربر روت Drop كرد ازش قبول كن .
قسمت دوم تابعي به نام mydrag كه آدرس فايل Drop شده در هارد ديسك به شما بر ميگردونه .
حالا اگه شما به قسمت اول يعني On Create Event فرم نگاه كني مي بيني كه من از Handle خود فرم استفاده كردم . در موردي كه شما در سوالتون فرموديد بايد به جاي استفاده از Handle فرم از Handle همون شئ استفاده كنين كه مايلين شبيه TimeLine در برنامه مورد نظرتون عمل كنه .
موفق باشيد .