Форум: "Начинающим";
Текущий архив: 2011.10.30;
Скачать: [xml.tar.bz2];
ВнизМЫШЬ drag-drop в аналоге RAdmin Найти похожие ветки
← →
Pcrepair © (2011-07-06 21:30) [0]Добрый день!
потихоньку идет разработка аналога РАдмин, в рамках одного проекта в среде D2010
на текущий день есть код переноса отжатия кнопок мыши с клиента на сервер в компоненте ИМЕДЖ1, в котором отображается скрин экрана сервера, все работает
КЛИЕНТ
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
begin
IdTCPClient1.Host:=HOST.Text;
IdTCPClient1.Port:=StrToInt(PortNumber.Text);
IdTCPClient1.Connect;
IdTCPClient1.IOHandler.WriteLn("mouse_left ");
IdTCPClient1.Disconnect;
end;
if Button=mbRight then
begin
IdTCPClient1.Host:=HOST.Text;
IdTCPClient1.Port:=StrToInt(PortNumber.Text);
IdTCPClient1.Connect;
IdTCPClient1.IOHandler.WriteLn("mouse_right ");
IdTCPClient1.Disconnect;
end;
end;
СЕРВЕР
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
z: string;
X,Y:integer;
K:TPoint;
if SameText(Copy(z, 1, 11), "mouse_move ") then
begin
z := AContext.Connection.IOHandler.ReadLn;
if SameText(Copy(z, 1, 8), "mouse_x ") then
X:=StrToInt(Copy(z,9,4));
z := AContext.Connection.IOHandler.ReadLn;
if SameText(Copy(z, 1, 8), "mouse_y ") then
Y:=StrToInt(Copy(z,9,4));
Log("Перемещение мыши");
SetCursorPos(X,Y);
end;
if SameText(Copy(z, 1, 11), "mouse_left ") then
begin
GetCursorPos(K);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN,K.X,K.Y,0,0);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP,K.X,K.Y,0,0);
Log("Нажатие левой кнопки мыши");
end;
if SameText(Copy(z, 1, 12), "mouse_right ") then
begin
GetCursorPos(K);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_RIGHTDOWN,K.X,K.Y,0,0);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_RIGHTUP,K.X,K.Y,0,0);
Log("Нажатие правой кнопки мыши");
end;
AContext.Connection.Disconnect;
end;
end;
ВОПРОСЫ:
1. можно ли реализовать функцию перетаскивания объектов, как приблизительно код может выглядеть?
2. можно ли реализовать прокрутку с использованием колесика мыши (мышь - два баттона и колесо, стандартная), в событиях компонента ИМЕДЖ1 нет обработки колеса
3. в принципе, нужно ли делать обработку событий типа клик, двойной клик и что там может быть еще связянное с мышью, чтобы приблизиться к функционалу MSRDP?
← →
Andy BitOff © (2011-07-06 22:12) [1]Аналог РАдмина =D
← →
DVM © (2011-07-06 22:15) [2]
> Pcrepair © (06.07.11 21:30)
> 1. можно ли реализовать функцию перетаскивания объектов,
> как приблизительно код может выглядеть?
можно, делать ничего не нужно, достаточно перенаправлять клики мыши и перемещения мыши - остальное забота ос.
> 2. можно ли реализовать прокрутку с использованием колесика
> мыши (мышь - два баттона и колесо, стандартная), в событиях
> компонента ИМЕДЖ1 нет обработки колеса
Можно, но имхо на кой черт вам сдался этот TImage не по назначению использщуете компонент, он для отображения статичных картинок предназначен, но не для рисования и анимации.
> 3. в принципе, нужно ли делать обработку событий типа клик,
> двойной клик и что там может быть еще связянное с мышью,
> чтобы приблизиться к функционалу MSRDP?
двойной тройной десятерной клик состоит из нажатий кнопок мыши и их отпусканий вот их надо передавать остальное забота ос.
← →
Palladin © (2011-07-07 10:46) [3]Да это не просто аналог, это убийца RAdmin"а !
← →
QAZ (2011-07-07 11:50) [4]зачем делать то, что уже есть в самой винде
← →
Pcrepair © (2011-07-07 15:51) [5]DVM
> Можно, но имхо на кой черт вам сдался этот TImage не по
> назначению использщуете компонент, он для отображения статичных
> картинок предназначен, но не для рисования и анимации.
а на чем еще отображать файл.бмп - скрин экрана сервера?
что конкретно значит
> достаточно перенаправлять клики мыши и перемещения мыши
> - остальное забота ос
в событиях компонента есть OnStartDrag и OnDragOver и OnDragDrop и еще OnEngDrag. неясно только как из применять
← →
Dennis I. Komarov © (2011-07-07 16:10) [6]
> Pcrepair © (07.07.11 15:51) [5]
Поиск в "Сети", там много таких Кулибиных...
← →
DVM © (2011-07-07 16:49) [7]
> Pcrepair © (07.07.11 15:51) [5]
> а на чем еще отображать файл.бмп - скрин экрана сервера?
Да на чем угодно, TPaintBox на худой конец, а лучше сделать свое что-то (с блекджеком и обработкой колеса мыши).
> в событиях компонента есть OnStartDrag и OnDragOver и OnDragDrop
> и еще OnEngDrag. неясно только как из применять
Это события какого компонента? TImage что ли? Причем тут эти события? Ты что хочешь перетаскивать откуда и куда? Если ты хочешь перетаскивать что-либо на удаленной машине, то туда ничего кроме перемещений мыши и кликов отправлять не надо.
← →
Pcrepair © (2011-07-07 19:11) [8]то есть эти события компонента Тимедж - OnStartDrag и OnDragOver и OnDragDrop к мыши отношения не имеют? в букваре по этому поводу ничего не сказано
файл скрина экрана сервера в формате БМП необходим для последующей обработки - OCR
← →
DVM © (2011-07-07 19:20) [9]
> Pcrepair © (07.07.11 19:11) [8]
> то есть эти события компонента Тимедж - OnStartDrag и OnDragOver
> и OnDragDrop к мыши отношения не имеют?
они к твоей задаче отношения не имеют
← →
Palladin © (2011-07-07 23:22) [10]
> букваре по этому поводу ничего не сказано
это в каком таком букваре по написанию убийц роадминов это должно быть сказано?
> файл скрина экрана сервера в формате БМП необходим для последующей
> обработки - OCR
а за накой хрен этот скрин OCRом обрабатывать?
а сколько ты зарплату у работодателей просишь?
← →
Pcrepair © (2011-07-08 08:38) [11]по найму не работаю
← →
DiamondShark © (2011-07-08 20:01) [12]РАдмин риальне сосёт.
IdTCPClient1.Connect;
IdTCPClient1.IOHandler.WriteLn("mouse_left ");
IdTCPClient1.Disconnect;
Тестите, поди, на гигабитной сетке?
Работа с сетью через анус.
Об оконных сообщениях понятия ноль.
А всё туда же: аналог РАдмина, функциАнал MSRDP. OCR ещё.
> Pcrepair © (08.07.11 08:38) [11]
> по найму не работаю
Предприниматель, значит.
Иди пивом торгуй.
← →
QAZ (2011-07-08 22:53) [13]
> Можно, но имхо на кой черт вам сдался этот TImage не по
> назначению использщуете компонент, он для отображения статичных
> картинок предназначен, но не для рисования и анимации.
между прочим движок сризиса тоже через TImage выводит, такчто не обижай парня
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.10.30;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.004 c