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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2009, 00:57   #1
SeregaKo
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 22
По умолчанию Клик мыши по кнопке

Делаю тест, появился такой вопрос: как делать проверку клика мышки по кнопке на главной форме?

Код:
procedure TVopros2.FrameCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
MainForm.SpeedButton2.Enabled:=false;
end;

procedure TVopros2.RadioGroup1Click(Sender: TObject);

begin

 If RadioGroup1.Buttons[0].Checked or
    RadioGroup1.Buttons[1].Checked or
    RadioGroup1.Buttons[2].Checked

    then MainForm.SpeedButton2.Enabled:=true;

 If MainForm.SpeedButton2.Click then

    begin

    If Vopros3 <> nil then
    Vopros3.Free;
    Vopros3 := TVopros3.Create(MainForm.Panel1);
    Vopros3.Align := alClient;
    Vopros3.Parent := Panel1;

     end;
     end;


end.

Последний раз редактировалось Stilet; 30.04.2009 в 08:09.
SeregaKo вне форума Ответить с цитированием
Старый 30.04.2009, 01:03   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Код:
Procedure TForm1.FormClick(Sender: TObject);
Begin
...
End;
Так же можете объявить переменную типа Boolean и при клике устанавливать ей значение.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 30.04.2009, 01:18   #3
SeregaKo
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 22
По умолчанию

Мне нужен клик по кнопке пропустил слово , пардон темно
SeregaKo вне форума Ответить с цитированием
Старый 30.04.2009, 01:25   #4
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
как делать проверку клика мышки по кнопке на главной форме
Аналогично, как и с формой.
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
//Действия
End;
Все события есть у кнопки.
Всегда рад помочь!

Последний раз редактировалось Terran; 30.04.2009 в 01:30.
Terran вне форума Ответить с цитированием
Старый 30.04.2009, 01:31   #5
SeregaKo
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 22
По умолчанию

Мне нужно вот здесь делать проверку:

If MainForm.SpeedButton2.Click then

Код:
begin
If Vopros3 <> nil then
Vopros3.Free;
Vopros3 := TVopros3.Create(MainForm.Panel1);
Vopros3.Align := alClient;
Vopros3.Parent := MainForm.Panel1;
end;
end.
Но естественно в этом месте ошибка
Или нужно прописать так:
If TMainForm.SpeedButton2Click then

Последний раз редактировалось Stilet; 30.04.2009 в 08:09.
SeregaKo вне форума Ответить с цитированием
Старый 30.04.2009, 01:35   #6
SeregaKo
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 22
По умолчанию

Т.е. есть главная форма, на ней панель, где отображаются фреймы (вопросы теста). На главной форме кнопки соответственно: вперёд, назад. Так вот если выбран ответ на один из вопросов теста, то кнопка вперёд доступна и если на неё кликнуть появляется след. вопрос
SeregaKo вне форума Ответить с цитированием
Старый 30.04.2009, 01:40   #7
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Хм... Я думаю эта проверка некчему т.к. при нажатии на кнопку выполнится список инструкций, которые записаны в обработчике нажатия на кнопку. А нажатие на кнопку в if Then не проверить.
Цитата:
кнопка вперёд доступна и если на неё кликнуть появляется след. вопрос
Вам тогда нужно сделать так:
Код:
Procedure TMainForm.SpeedButton1Click(Sender: TObject);
Begin
If Vopros3 <> nil then
Vopros3.Free;
Vopros3 := TVopros3.Create(MainForm.Panel1);
Vopros3.Align := alClient;
Vopros3.Parent := MainForm.Panel1;
End;
Всегда рад помочь!

Последний раз редактировалось Terran; 30.04.2009 в 01:43.
Terran вне форума Ответить с цитированием
Старый 30.04.2009, 01:43   #8
SeregaKo
Пользователь
 
Регистрация: 17.06.2008
Сообщений: 22
По умолчанию

А как мне тогда лучше поступить ?

Ну это понятно, я так и делаю:
у меня на форме 3 кнопки: старт, вперёд и назад (невидимые)
Когда кликнуть на кнопку старт, др. 2 становятся видимыми, старт невидимой и загружается первый вопрос.
Для второго вопроса соответственно клик по кнопке вперёд
Procedure TMainForm.SpeedButton2Click(Sender: TObject);
и загружается 2 вопрос.

А дальше как незнаю 18 кнопок чтоль кидать на форму

Последний раз редактировалось Stilet; 30.04.2009 в 08:09.
SeregaKo вне форума Ответить с цитированием
Старый 30.04.2009, 02:02   #9
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

В этом случае можете просто делать проверку какой вопрос загружен и потом загружать остальные. К примеру:
Код:
Procedure TMainForm.SpeedButton2Click(Sender: TObject);
Begin
If первый вопрос загружен=True Then
\\Загружаем второй вопрос
If второй вопрос загружен=True Then
\\Загружаем третий вопрос
End;
Или что-то на подобии этого. Думаю много кнопок кидать не нужно, просто делайте проверку или как-нибудь отмечайте вопросы и потом в зависимости от надобностей выводите вопросы.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 30.04.2009, 07:54   #10
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Можно в паблике объявить новую переменную,
По нажатию кнопки менять ее значение, допусти a:=1;
Затем уже проверять эту переменую.
if a=1 then //делаем тото
S@fer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TСhart, клик мыши и координаты XY, Определение координат оси при клике мыши Aravild Компоненты Delphi 1 31.01.2009 16:28
Клик мыши stayer Общие вопросы Delphi 1 30.10.2008 19:53
указатель мыши автоматически должен совершать клик по заданному месту на экране, через промежуток времени Deefrost Qt и кроссплатформенное программирование С/С++ 5 16.05.2008 20:25
Как обработать событи, щелчок на кнопке мыши? proglamer Паскаль, Turbo Pascal, PascalABC.NET 10 13.11.2007 18:57
MouseDown: обращение к правой кнопке мыши ZhekON Общие вопросы Delphi 2 11.05.2007 19:17