Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2011, 07:34   #1
mactepmac
Пользователь
 
Регистрация: 20.06.2011
Сообщений: 31
Радость Программно нажать на Image

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button2: TButton;
Button3: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var h1,h2,h3:HWND;
begin
Label1.Caption:='семь восемь девять';


h1:=FindWindow(nil,'Form1');
h2:=FindWindowEx(h1,0,'TButton','Bu tton3');

SendMessage(h2,WM_LBUTTONDOWN,1,1);
SendMessage(h2,WM_LBUTTONUP,1,1);

h3:=FindWindowEx(h1,0,'TImage','Ima ge1');
SendMessage(h3,WM_LBUTTONDOWN,1,1);
SendMessage(h3,WM_LBUTTONUP,1,1);

end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Label3.Caption:='раз два три';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Label2.Caption:='четыре пять шесть';
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile('f:/delphi/pic.jpg');
end;

end.



-------------------------------
При нажатии на кнопку1 происходит нажатие на кнопку3, а нажатие на Image1 не происходит. Подскажите как сделать программное нажатие на объект Image. Заранее благодарен

Последний раз редактировалось mactepmac; 20.06.2011 в 08:20.
mactepmac вне форума Ответить с цитированием
Старый 20.06.2011, 09:29   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Судя по этому
Цитата:
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button2: TButton;
Button3: TButton;
Image1: TImage;
и button3 и Image1 свои поэтому проще сделать так.
Код:
button3.click;
Image1.Click;
h3:=FindWindowEx(h1,0,'TImage','Ima ge1');
Не получается так как в windows такого окна Image1 НЕТ.
TImage НЕ оконный класс в понимании windows (не наследник TwinControl) .
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 20.06.2011, 10:25   #3
mactepmac
Пользователь
 
Регистрация: 20.06.2011
Сообщений: 31
По умолчанию

unit Unit2;

interface

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

type
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
Image1: TImage;
procedure Image1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Image1Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile('f:/delphi/domino.jpg');
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
//button2.Click;
Image1.Click;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
Button2.Caption:='hello';
end;

end.

C кнопкой все получилось. (button1.click) А Вот и картинкой нет, не хочет программа компилироваться и выдает ошибку Undeclared identifier: 'Click' . Немогу понять в чем причина ((((
mactepmac вне форума Ответить с цитированием
Старый 20.06.2011, 10:29   #4
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
Image1Click(Self);
end;
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 20.06.2011, 10:40   #5
mactepmac
Пользователь
 
Регистрация: 20.06.2011
Сообщений: 31
По умолчанию

Ура заработало!!!. Всем спасибо!
mactepmac вне форума Ответить с цитированием
Старый 20.06.2011, 11:12   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
type
TMyImage =class(Timage)
end;

procedure TForm3.FormActivate(Sender: TObject);
begin
  (self.Image1 as TmyImage).click;
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нажать программно win+L AlexeiDelejov Win Api 4 06.06.2010 10:02
Программно нажать на кнопку Marsel737 Общие вопросы Delphi 1 29.04.2010 20:38
программно нажать кнопку Dotha Общие вопросы Delphi 1 25.02.2010 17:56
Нажать на image kommunist JavaScript, Ajax 1 02.07.2008 10:27
Программно нажать кнопку DeDoK Общие вопросы Delphi 2 04.05.2008 21:46