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

Вниз

Дабл клик на гриде   Найти похожие ветки 

 
aht ©   (2006-09-28 09:02) [0]

Доброго времени суток.
Создаю в своем приложении StringGrid create"ором, но не могу сообразить как "прикрутить" нужную процедуру к событию ДаблКлик на созданном гриде?


 
Elen ©   (2006-09-28 09:10) [1]

  unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Grids;

type
 TForm1 = class(TForm)
   StringGrid1: TStringGrid;
   procedure FormCreate(Sender: TObject);
   procedure DBL(Sender: TObject);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

//********* PROCEDURE**********
procedure tform1.DBL;
//const
//Var
begin

end;
//********* END PROCEDURE*******

procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.OnDblClick:=dbl;
end;

end.



 
aht ©   (2006-09-28 09:47) [2]

это всё так, если грид создается вместе с формой1, но если он создается, предположим, при нажатии какого-либо батона, описание должно быть другое :-(


 
clickmaker ©   (2006-09-28 10:00) [3]


> но если он создается, предположим, при нажатии какого-либо
> батона, описание должно быть другое

в смысле другое?


 
Elen ©   (2006-09-28 10:07) [4]


>  описание должно быть другое

Глупости! Динамическое приатачивание событий остается неизменным - StringGrid1.OnDblClick:=dbl;


 
ЮЮ ©   (2006-09-28 10:11) [5]

Код обработчика, естественно, должен быть создан заранее, как метод формы
(см. tform1.DBL в [1]), а код внутри должен использовать Sender, а не какой-нибудь ButtonXXX, как можно было бы позволить себе, когда создаешь уникальный по действию обработчик для кнопки ButtonXXX непоследственно в IDE


 
aht ©   (2006-09-28 10:17) [6]

ну хорошо, почему в таком случае, появляется диалог (сделал также, как описала Elen): "Field Form4.sg2 does not have a corresponding componrnt. Remove the declaration?" а точнее:

type
 TForm4 = class(TForm)
   sg2: TStringGrid;                        //sg 2
   procedure sg2DblClick(Sender: TObject);  //sg 2
   procedure FormCreate(Sender: TObject);
...
procedure TForm4.FormCreate(Sender: TObject);
begin
sg2.OnDblClick:=sg2DblClick;
end;


 
Elen ©   (2006-09-28 10:19) [7]


> aht

потому что  sg2: TStringGrid; надо прописывать в разделе

 private
   { Private declarations }
 public
   { Public declarations }

Т,К, делфи не находит на форме явного присутствия грида


 
clickmaker ©   (2006-09-28 10:19) [8]


> [6] aht ©   (28.09.06 10:17)

перенеси sg2 в секцию private или protected


 
ЮЮ ©   (2006-09-28 10:29) [9]


> перенеси sg2 в секцию private или protected

тогда и создать его не забудь.
Потому как в [1] StringGrid уже лежал на фоме и ему только назначался обработчик.


 
umbra ©   (2006-09-28 10:34) [10]


> procedure tform1.DBL;
> //const
> //Var
> begin
>
> end;

procedure tform1.dbl(Sender: Tobject);


 
Elen ©   (2006-09-28 10:41) [11]


> umbra

см. выше :
type
TForm1 = class(TForm)
  StringGrid1: TStringGrid;
  procedure FormCreate(Sender: TObject);
  procedure DBL(Sender: TObject);
...


 
aht ©   (2006-09-28 10:50) [12]

ну вот, пасибо большое всем!
поставил описание грида в раздел

  private
   { Private declarations }

описание процедуры - в форме, присвоение процедуры - после динамического создания грида.
ЗЫ. Грид на форме не лежит, он создается динамически!!!


 
umbra ©   (2006-09-28 11:09) [13]

2 Elen ©   (28.09.06 10:41) [11]

прошу прощения! :)



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

Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.049 c
15-1159002267
SergP
2006-09-23 13:04
2006.10.15
Род Стивене "Delphi Готовые алгоритмы.". Стоит ли качать?


3-1155633565
Alpine
2006-08-15 13:19
2006.10.15
Возможно ли помещать апостроф в запись ?


15-1158895814
страстно жаждущий все знать
2006-09-22 07:30
2006.10.15
докумсентация по 1с


3-1155824707
incm
2006-08-17 18:25
2006.10.15
Как используя BDE и MS SQL Server получать RAISEROR( Err ,10)


15-1158901991
vidiv
2006-09-22 09:13
2006.10.15
для чего у IE параметр value в <button>???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский