Вверх ↑
Ответов: 1268
Рейтинг: 47
#1: 2023-03-26 14:50:23 ЛС | профиль | цитата
andrestudio, ну так то да, согласен. Просто я имел в виду это если делать из стандартного компонента нестандартный. И вообще все подобные "заплатки" кода не включенные в репозиторий по каким-то, возможно весомым причинам..
А у вас не недоработка, а доработка )

--- Добавлено в 2023-03-26 14:56:58

Все заработало как надо. Вот поправленный компоент:
Ini:

[About]
Version=1.0
Author=Dilma

[Type]
Class=Element
Info=Перетаскивание окна мышкой за любое место

[Methods]
doMove=Начинает операцию перетаскивания|1|
Handle=Определяет идентификатор окна, которое нужно перетащить|4|1
*onStartMove=Событие происходит при начале перетаскивания|2|
*onStopMove=Событие происходит при окончании перетаскивания|2|

Pas:

unit hiMoveWindow;

interface

uses Kol,Share,Windows,Messages,Debug;

type
THIMoveWindow = class(TDebug)
private
public
_data_Handle:THI_Event;

_event_onStartMove:THI_Event; // @ andrestudio mod 26.3.2023
_event_onStopMove:THI_Event; // @ andrestudio mod 26.3.2023

procedure _work_doMove(var _Data:TData; Index:word);
end;

implementation

procedure THIMoveWindow._work_doMove;
var wnd:HWND;
begin
_hi_onEvent(_event_onStartMove);
wnd := ReadInteger(_Data,_data_Handle,0);
ReleaseCapture;
SendMessage(wnd,WM_SYSCOMMAND, $F012, 0);
_hi_onEvent(_event_onStopMove);
end;

end.

карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Редактировалось 3 раз(а), последний 2023-03-26 14:56:58