Форум: "Начинающим";
Текущий архив: 2008.09.21;
Скачать: [xml.tar.bz2];
ВнизOnClick для TButton Найти похожие ветки
← →
Wood (2008-08-12 08:37) [0]Не пинайте пожалуйста сильно. Вопрос, наверное, ламерский совсем:
TButton создан динамически или в дизайне. При назначении ему parent:=StringGrid не работает обработчик OnClick. Как нужно сделать?
← →
AlexanderMS © (2008-08-12 08:57) [1]
> При назначении ему parent:=StringGrid
Можно поинтересоваться: а зачем назначать?
← →
Wood (2008-08-12 09:34) [2]
> Можно поинтересоваться: а зачем назначать?
иначе, назначать left, top кнопке относительно положению нужной ячейки с перерасчетом расположения грида на форме?
← →
Amoeba © (2008-08-12 11:04) [3]Автору вопроса читать вот это:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342
← →
Wood (2008-08-12 11:26) [4]
> Amoeba © (12.08.08 11:04) [3]
спасибо, читал. При parent =TForm onclick работает, при parent=StringGrid - нет
← →
brother © (2008-08-12 11:58) [5]есть нехорошее подозрение что он клик теперь отрабатывает не для кнопки, а для грида? проверь а? ;)
← →
oldman © (2008-08-12 12:08) [6]
> Wood (12.08.08 09:34) [2]
> иначе, назначать left, top кнопке относительно положению
> нужной ячейки с перерасчетом расположения грида на форме?
А при создании объекта это так долго и сложно?
← →
Wood (2008-08-12 14:13) [7]
> brother © (12.08.08 11:58) [5]
нет
> А при создании объекта это так долго и сложно?
В общем-то разница в том, что если парент делать к форме, то к вычислениям месторасположения кнопки добавляется месторасположение грида, а если парент= грид, то достаточно написать bt.left=grid.cellrect(ACol,ARow).left и т.п.
Это я хотел, чтоб кнопка появилась в нужной строке, в нужной ячейке..
В общем, с этим "кликом" я облажался, частенько создавал кнопки, менюшки и т.п. в ран-тайм и ни разу не нарывался на сие положение..
← →
oldman © (2008-08-12 14:32) [8]
> Wood (12.08.08 14:13) [7]
> В общем, с этим "кликом" я облажался, частенько создавал
> кнопки, менюшки и т.п. в ран-тайм
ну и продолжай создавать
а Visible:=True(False) еще никто не отменял
:)
← →
Wood (2008-08-12 14:46) [9]
> а Visible:=True(False) еще никто не отменял
Хм.. Свойства не вызывают у меня затруднений:) Вы слегка отклонились от темы.
← →
MsGuns © (2008-08-12 14:47) [10]Для того, чтобы кнопку нарисовать поверх грида, вовсе необязательно делать этот грид ее парентом
← →
aaaaa (2008-08-12 14:56) [11]TMybtn = class(TButton)
procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
end;
procedure TMybtn.WMLButtonDown(var Message: TWMLButtonDown);
begin
ShowMessage("Вы это можете");
end;
:)
← →
aaaaa (2008-08-12 15:08) [12]А может кто ответит, почему событие не происходит?
← →
Wood (2008-08-12 15:45) [13]
aaaaa (12.08.08 14:56) [11]
Да, возможно это вариант, не проверял, сейчас дельфей нет под рукой
> MsGuns © (12.08.08 14:47) [10]
да я и не спорю, но все же:
> А может кто ответит, почему событие не происходит?
>
← →
Leonid Troyanovsky © (2008-08-12 15:55) [14]
> aaaaa (12.08.08 15:08) [12]
> А может кто ответит, почему событие не происходит?
Tstringgrid has not been designed to be a parent to other controls, so it does
not properly reflect WM_COMMAND messages back to the control. You need to
derive a new class from TStringgrid and use that:
unit ControlStringgrid;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids;
type
TControlStringgrid = class(TStringgrid)
private
{ Private declarations }
Procedure WMCommand( var msg: TWMCommand ); message WM_COMMAND;
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents("PBGoodies", [TControlStringgrid]);
end;
{ TControlStringgrid }
procedure TControlStringgrid.WMCommand(var msg: TWMCommand);
begin
If EditorMode and ( msg.Ctl = InplaceEdit.Handle ) Then
inherited
Else
If msg.Ctl <> 0 Then
msg.result :=
SendMessage( msg.ctl, CN_COMMAND,
TMessage(msg).wparam,
TMessage(msg).lparam );
end;
end.
Peter Below (TeamB) 100113.1101@compuserve.com)
← →
aaaaa (2008-08-12 16:32) [15]
> Leonid Troyanovsky © (12.08.08 15:55) [14]
что-то такое я и подозревал. Спасибо.
> Wood (12.08.08 15:45) [13]
работает
← →
Wood (2008-08-12 18:09) [16]Cпасибо всем, завтра буду применять:-)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.09.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c