Mam jakis plik tekstowy i teraz jak zrobic zeby po przeciagnięciu na RichEdit ten plik sie otworzył w richEdit?
no bez jaj...
http://4programmers.net/view.php?id=56
wystarczylo w googlach wpisac: drag drop delphi
[<font color="blue">DOPISANE</span>:]
widzialem cos o drag&drop w FAQ
Juz wczesniej patrzylem w ten art ale co zrobic jak ten plik jest na pulpicie?
uses ShellApi;
Należy obsłużyć komunikat WM_DROPFILES
W sekcji public lub private deklarujemy
procedure WMDropFiles(var Message: TWMDropFiles); message WM_DROPFILES;
Należy pozwolić oknu na otrzymywanie plików
DragAcceptFlies(Handle,True);
... i obsługujemy komunikat
procedure TForm1.WMDROPFILES(var Message: TWMDROPFILES);
var
NumFiles : longint;
i : longint;
buffer : array[0..2048] of char;
begin
{$IFDEF D4}
NumFiles := DragQueryFile(Message.Drop, $FFFFFFFF, nil, 0);
{$ELSE}
NumFiles := DragQueryFile(Message.Drop, -1, nil, 0);
{$ENDIF}
for i := 0 to (NumFiles - 1) do
begin
DragQueryFile( Message.Drop,
i,
@buffer,
sizeof(buffer));
Memo1.Lines.Add(buffer);
end;
DragFinish( Message.Drop );
end;
Wstaw Memo
Należy pozwolić oknu na otrzymywanie plików
DragAcceptFlies(Handle,True);
Moze to głupie pytanie [wstyd] ale gdzie to w kodzie umiescic?
Moze to głupie pytanie [wstyd] ale gdzie to w kodzie umiescic?
a chociażby w OnActivate...
Też proponuje w OnActive napisz czy działa
a chociażby w OnActivate...
Tak zrobilem ale wyskakuje blad : Undeclared identifier'DragAcceptFlies'
a wczesnie jescze podświetla sie linijka
NumFiles := DragQueryFile(Message.Drop, -1, nil, 0);
i pisze: Constant expression violates subrange bounds
To zamień Richedit na SynEdit, który ma zdarzenie OnDropFiles.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.