Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Сделать активным компонент


Автор: ALeXandrK 11.8.2007, 15:17
У меня есть компонент TStringGrid.
Когда я нажимаю на любую его ячейку создается TImage.
Так вот нужно при создании TImage имиторвать нажаетие левой кнопки мыши
на нем. Мне это нужно, чтобы картинка двигалась вместе с курсором.

Вот такой код мне не помог:
Код

procedure TForm1.GridMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var 
 h:HWND;
begin
...
        h := FindWindowEx(Handle, 0, 'TStringGrid', NIL);
        SendMessage(h, WM_MOUSELEAVE, 1, 0);
        h := FindWindowEx(h, 0, 'TMovingCell', NIL);
        SendMessage(h, WM_ACTIVATE, 1, 0);
        SendMessage(h, WM_LBUTTONDOWN, 1, 0);
...
end;


Пример прикрепляю.

Автор: ALeXandrK 11.8.2007, 18:33
Решение нашлось:

Код

mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)