Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.062 c
15-1212736550
Ega23
2008-06-06 11:15
2008.07.20
Есть ли такая приблуда?


4-1193206467
Dmitry S
2007-10-24 10:14
2008.07.20
WNetAddConnection2: The network path was not found.


2-1213780489
lewka-serdceed
2008-06-18 13:14
2008.07.20
Выделение в ListBox


2-1214068798
Ia
2008-06-21 21:19
2008.07.20
Вопрос


4-1192961525
dzr_gregory
2007-10-21 14:12
2008.07.20
Отсылка сообщений





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский