Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.20;
Скачать: CL | DM;

Вниз

Определение нажатия кнопки   Найти похожие ветки 

 
lewka-serdceed   (2008-06-18 11:32) [0]

Подскажите в чем здесь ошибка.
procedure TForm1.StringGrid2SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
begin
Label4.Caption:=StringGrid2.Cells[1,Arow];
if PopupMenu1.Items[0].Click=true then Label3.Caption:="Ура";
end;


 
Правильный-Вася   (2008-06-18 11:34) [1]


> Подскажите в чем здесь ошибка.

какая?


 
lewka-serdceed   (2008-06-18 11:37) [2]

вот в этой строке
if PopupMenu1.Items[0].Click=true then Label3.Caption:="Ура"


 
lewka-serdceed   (2008-06-18 11:39) [3]

или как мне определить нажата ли какая-нибудь кнопка в PopupMenu?


 
Ega23 ©   (2008-06-18 11:40) [4]

Click - то процедура, а не свойство или функция.

З.Ы.
Может всё-таки метлу?


 
Ega23 ©   (2008-06-18 11:40) [5]


> или как мне определить нажата ли какая-нибудь кнопка в PopupMenu?


Там нет никаких кнопок.


 
Dennis I. Komarov ©   (2008-06-18 11:43) [6]

Checked?


 
zorik ©   (2008-06-18 11:44) [7]

1. В ObjectInspector задаешь:
StringGrid2.PopupMenu --> PopupMenu1

2. Двойной клик на Items-е PopupMenu1 и в теле процедуры пишешь что надо
procedure TForm1.N1Click(Sender: TObject);
begin
 ... <<-- !!!
end;


 
lewka-serdceed   (2008-06-18 11:45) [8]

а как мне тогда перенести в procedure TForm1.N1Click(Sender: TObject); координаты ячейки?


 
Ega23 ©   (2008-06-18 11:45) [9]


> Checked?


Это не совсем то...


 
korneley ©   (2008-06-18 11:49) [10]

В попапменю нет кнопок, там TMenuItem, у которых есть property OnClick: TNotifyEvent; Вот их-то (события) и надо определить, можно даже одно на всех навесить, и там по Sender разбираться кто его (событие) вызвал, и делать в связи с этим разные штуки.


 
korneley ©   (2008-06-18 11:53) [11]


> а как мне тогда перенести в  procedure TForm1.N1Click(Sender:
>  TObject); координаты ячейки?

Вероятно, Form1.StringGrid2.Row и Form1.StringGrid2.Col


 
Правильный-Вася   (2008-06-18 12:00) [12]


> вот в этой строке

я спрашивал "какая" ошибка, а не "где"


 
lewka-serdceed   (2008-06-18 12:07) [13]


> я спрашивал "какая" ошибка, а не "где"

Unit "FileCtrl" is specific to a platform


 
Palladin ©   (2008-06-18 12:10) [14]

это не ошибка


 
Правильный-Вася   (2008-06-18 12:13) [15]


> Unit "FileCtrl" is specific to a platform

в приведенном коде ее быть не может


 
korneley ©   (2008-06-18 12:16) [16]


> Правильный-Вася   (18.06.08 12:13) [15]
> > Unit "FileCtrl" is specific to a platformв приведенном
> коде ее быть не может

В генетическом может :)


 
lewka-serdceed   (2008-06-18 12:20) [17]

А почему не выполняется здесь условие
procedure TForm1.StringGrid2SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
begin
if PopupMenu1.Items[0].Checked then
ShellExecute(Handle,nil,PChar(StringGrid2.Cells[ACol,0]+StringGrid2.Cells[1,Arow]), nil,nil,SW_SHOW);

end;


 
zorik ©   (2008-06-18 12:23) [18]


> а как мне тогда перенести в  procedure TForm1.N1Click(Sender:
>  TObject); координаты ячейки?

StringGrid2.Row и StringGrid2.Col


 
Ega23 ©   (2008-06-18 12:23) [19]

Потому что оно не Checked.


 
zorik ©   (2008-06-18 12:26) [20]

procedure TForm1.N1Click(Sender: TObject);
begin
  ShellExecute(Handle, nil, PChar(StringGrid2.Cells[StringGrid2.Col, 0] + StringGrid2.Cells[1, StringGrid2.Row]), nil, nil, SW_SHOW);
end;


 
korneley ©   (2008-06-18 12:29) [21]


> lewka-serdceed   (18.06.08 12:20) [17]
> А почему не выполняется здесь условие

А какое, интересно, условие не выполняется? Очень даже выполняется. Как написано, так и работает.


 
zorik ©   (2008-06-18 12:32) [22]

StringGrid2.Cells[ACol,0]+StringGrid2.Cells[1,Arow]
ИМХО здесь что-то не так. Ты берешь Выделенный столбец, строчку 0 и выделенную строчку столбец 1. Т.е., если у тебя выделена ячейка [3, 5], то ты возмешь значения из ячейки [3, 0] + [1, 5]. Подумай и исправь


 
lewka-serdceed   (2008-06-18 12:43) [23]

А можно выделить одновременно несколько строк в StringGride? И как?


 
zorik ©   (2008-06-18 12:46) [24]

TStringGrid для этих целей как на меня не очень. Используй TListView или ищи сторонние визуальные компоненты. Можешь взять TCheckListBox и там "птички" ставить



Страницы: 1 вся ветка

Текущий архив: 2008.07.20;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.013 c
6-1190291073
Chaser
2007-09-20 16:24
2008.07.20
WNetAddConnection2


3-1202313830
harisma
2008-02-06 19:03
2008.07.20
Параметры для xp_sqlmaint


2-1213825037
light-blr
2008-06-19 01:37
2008.07.20
Как заставить программу ждать, пока выполнится вызванная другая?


2-1213686301
MaryM
2008-06-17 11:05
2008.07.20
Проконсультируйте по работе с объемными файлами


1-1195486930
dreamse
2007-11-19 18:42
2008.07.20
Как запретить завершать свой приложение?