Форум: "Основная";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
ВнизПомогите c компонентов в Run_time Найти похожие ветки
← →
BoTToN!k (2003-04-29 12:23) [0]Подскажите кому не трудно, как создать событие компанента, созданнго во время выполнения программы...немогу разобратся....желательно с примером например на таймере...Большое спасибо!!
← →
Skier (2003-04-29 12:30) [1]http://delphimaster.net/view/1-1051543749/
← →
Zergling (2003-04-29 12:44) [2]uses TypInfo;
Через RTTI меньше глюков соберем и к любому обекту
TVSetMethodProp(DestObject,"OnClick",TVGetMethodProp(SourceObject,"OnClick"));
Procedure TVSetMethodProp(AComponent:TObject;APropertyName:String;AMethod:TMethod);
var PropInfo: PPropInfo;
Begin
PropInfo:=GetPropInfo(AComponent.ClassInfo,APropertyName);
if PropInfo<>nil then
if PropInfo^.PropType^.Kind=tkMethod then SetMethodProp(AComponent,PropInfo,AMethod);
End;
Function TVGetMethodProp(AComponent:TObject;APropertyName:String):TMethod;
var PropInfo: PPropInfo;
Begin
PropInfo:=GetPropInfo(AComponent.ClassInfo,APropertyName);
if PropInfo<>nil then
if PropInfo^.PropType^.Kind=tkMethod then Result:=GetMethodProp(AComponent,PropInfo);
End;
← →
BoTToN!k (2003-05-01 08:46) [3]млин ..неполучается....создал компанент пишу button1.onclick:=myproc;
...
procedure myproc(sender:TObject)
////
каr?
← →
Levan Varshanidze (2003-05-01 09:18) [4]Собитие или обработчик собития ?
← →
Лесник (2003-05-01 10:55) [5]Очевидно уже в архиве мой топик. Я делал следующим образом, для того чтобы пользователь в поле Edit мог вводить только цифровые значения и DecimalSeparator, а Вы можете вставлять любую свою процедуру.
...
// создаем процедуру на событие
Type
TMyKeyPress = class
private
procedure EditKeyPress(Sender:TObject;var Key:Char);
end;
procedure TMyKeyPress.EditKeyPress(Sender:TObject; var Key: Char);
begin
If not (Key in ["0".."9",Decimalseparator])then Key:=#0;
end;
// функция где Вы создаете свой компонент
function InputQueryC(const ACaption, APrompt: string;
var Value: string): Boolean;
var
Form: TForm;
Edit: TEdit;
........
Edit := TEdit.Create(Form);
with Edit do
begin
Parent := Form;
Left := Prompt.Left;
Top := Prompt.Top + Prompt.Height + 5;
Width := MulDiv(164, DialogUnits.X, 4);
MaxLength := 255;
Font.Color:=clNavy;
Text := Value;
SelectAll;
MyKey:=nil;
OnKeyPress:=MyKey.EditKeyPress;// вот здесь и обработка
end;
← →
Лесник (2003-05-01 11:12) [6]Да еще забыл Там где описаны переменные формы и едита еще надо добавить и еще одну переменную например у меня
MyKey : TMyKeyPress;
аMyKey:=nil;
должен быть для того чтобы убрать warning при компиляции
← →
KSergey (2003-05-01 12:04) [7]http://www.delphikingdom.ru/helloworld/runtime_comp.htm
← →
BoTToN!k (2003-05-03 04:19) [8]спосибо всем...разобрался...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c