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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2009, 23:25   #21
mauar
Пользователь
 
Регистрация: 05.05.2008
Сообщений: 27
По умолчанию

Цитата:
Сообщение от DomiNick Посмотреть сообщение
А нафиг..? "Button1.Click" - это комманда нажать кнопку, а не условие...
А ты сможешь написать условия нажатия на кнопку? )) Если нажата кнопка 1 то сделать то то.
Народ, если кто нибуть из вас решал олимпиадные задачи, там что то подобное есть кстати!

Последний раз редактировалось mauar; 31.05.2009 в 23:28.
mauar вне форума Ответить с цитированием
Старый 01.06.2009, 01:24   #22
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы можете обьяснить толком что вам нужно?
при нажатии на кнопку идет событие ОнКлик!
в этом событии можно поместить любой код
то есть ваше
Код:
if Button1.Click then //код
заменяется на procedure
Код:
TForm1.Button1Click(Sender : TObject);
begin
//код
end;
а если вам нужно на одну процедуру повесить несколько кнопок(то есть наоборот)
то нужно использовать Sender для определенния какая-именно кнопка нажата.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.06.2009, 12:45   #23
BaronTreep
Форумчанин
 
Регистрация: 29.05.2009
Сообщений: 320
По умолчанию

Можно поставить на форму красивую картинку (кнопку).
Для неё написать OnMouseDown и OnMouseUp.
В первой писать

Код:
procedure TForm1.ImageButton1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    Button1Put:= True;
    // Менять картинку
end;
во втророй

Код:
procedure TForm1.ImageButton1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    Button1Put:= False;
    // Менять картинку обратно
end;
Где Button1Put глобальная переменная.
Теперь из любого места программы можно проверить

if Button1Put then ...

Может это имелось в виду?

Последний раз редактировалось BaronTreep; 01.06.2009 в 13:05.
BaronTreep вне форума Ответить с цитированием
Старый 01.06.2009, 13:38   #24
mauar
Пользователь
 
Регистрация: 05.05.2008
Сообщений: 27
По умолчанию

Цитата:
Сообщение от BaronTreep Посмотреть сообщение
Можно поставить на форму красивую картинку (кнопку).
Для неё написать OnMouseDown и OnMouseUp.
В первой писать

Код:
procedure TForm1.ImageButton1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    Button1Put:= True;
    // Менять картинку
end;
во втророй

Код:
procedure TForm1.ImageButton1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    Button1Put:= False;
    // Менять картинку обратно
end;
Где Button1Put глобальная переменная.
Теперь из любого места программы можно проверить

if Button1Put then ...

Может это имелось в виду?
Да что то в этом роде только для обычной кнопки. Обычное задание, прописать условный оператор If для нажатия стандартной кнопки типа TButton :-)
В конце у нас должно получиться написать вот такой маленький код:
if button1 = click then делаем то то
mauar вне форума Ответить с цитированием
Старый 01.06.2009, 15:08   #25
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Лампочка

Цитата:
Там код в библиотеки Dll находится, ссылаемся из основной формы проекта на нажатия кнопку из формы находящийся в библиотеки.
Ну так наверное оно должно тогда что-то возвращать... Это и проверяй в условии...

Например как с диалоговым окном:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
If MessageDlg(' Вы Уверены?? 0_о ', mtInformation, [mbYes, mbNo], Word(-1))=6  Then
      Begin
      // Делаем что-то, если в диалоговом окне нажали "Yes"
      End
Else
      Begin
      // Делаем что-то, если в диалоговом окне нажали "No"
      End;
End;
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 01.06.2009, 15:42   #26
TilerDerton
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 34
По умолчанию

Цитата:
Нет, мне нужно сделать отлов нажатия кнопки, если кнопка нажата то сделать то то, может while или repeat попробовать? Без обработчика OnClick
Я понял так: есть кнопка, нам требуется узнать (сообщить) о нажатии на нее, не трогая ОНклик.
Могу предложить 2 варианта:
Первый - обрабатывать Button1MouseDown, и Button1MouseUp. Если MouseDown, то мы можем выполнить нужные нам действия до того, как пойдет код из ОНклик, т.к. кнопка будет ждать MouseUp. Ну тут можно еще учесть то, что пользователь может зажать мышкокнопку на кнопке, а отпустить просто на форме=)
Слишком просто?
Тогда есть вариант2 - пост
В этом исходнике отлавливается нажатие мыши, соответственно клик по области, содержащей кнопку (ту у которой не хочется трогать ОНклик) мы и обрабатываем. Ну а тут уже делаем что захотим.
Разумеется для нормального функционирования требуется закрепить форму/кнопку. Т.е. чтобы координаты кнопки не менялись.
TilerDerton вне форума Ответить с цитированием
Старый 01.06.2009, 15:50   #27
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

А мне показалось нужно как бы перехватывать нажатия на TButton в чужом приложении и заместо "родного" OnClick выполнять свой код...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 01.06.2009, 16:04   #28
TilerDerton
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 34
По умолчанию

Ну, вроде:
Цитата:
Да что то в этом роде только для обычной кнопки. Обычное задание, прописать условный оператор If для нажатия стандартной кнопки типа TButton :-)
В конце у нас должно получиться написать вот такой маленький код:
if button1 = click then делаем то то
Сомневаюсь, что это для ковыряния чужих приложений.
Хотя не все дано нам узнать xD
TilerDerton вне форума Ответить с цитированием
Старый 01.06.2009, 16:12   #29
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Ну так надо как бы "перехватывать" событие
Цитата:
на нажатия кнопку из формы находящийся в библиотеки
Или думаю точнее надо "узнавать" нажали ли на кнопку в форме вызванной из DLL...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 01.06.2009, 16:24   #30
TilerDerton
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 34
По умолчанию

Не обратил внимания на тот пост... Ну да ладно подождем ответа ТС.
TilerDerton вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7. Условный оператор Юрий2009 Помощь студентам 9 29.04.2009 19:36
Delphi 7. Условный оператор Юрий2009 Помощь студентам 2 27.04.2009 20:10
Delphi 7. Условный оператор Юрий2009 Помощь студентам 1 27.04.2009 19:16
Условный оператор в Borland C++ 3.1 Xeon332 Помощь студентам 8 30.01.2009 17:08
Условный оператор IF в Си Zid@ne Помощь студентам 7 24.12.2008 20:02