Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с событием разобраться. [D6, Win95/98]


Provodnick ©   (2003-01-27 05:32:00) 

Разбирался тут с созданием компонентов в Run-Time. Возник вопрос.
Имеется прога:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
??? procedure ONL2Cl (Sender: TObject);
var
Form1: TForm1;
FormTemp:TForm;
Label2:TLabel;
ColorDialog:TColorDialog;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
FormTemp:=TForm.Create(Form1);
FormTemp.Caption:="New Form!!!";
FormTemp.ClientHeight:=200;
FormTemp.ClientWidth:=200;
FormTemp.Position:=poMainFormCenter;
FormTemp.Icon.LoadFromFile("C:\Мои документы\mem1.ico");
Label2:=TLabel.Create(FormTemp);
With Label2 do begin
Parent:=FormTemp;
Height:=2;
Width:=2;
Caption:="WOW";
?? OnClick:=onl2cl
end;
FormTemp.Show;
ColorDialog:=TColorDialog.Create(FormTemp);
end;
Procedure onl2cl (Sender: TObject);
begin
ColorDialog.Execute;
Label2.Color:=Colordialog.Color
end;
end.
Как правильно задать обработчик для события OnClick Label2?
И ещё - возможно ли создать непрямоугольную кнопку, например овальную?


Юрий Зотов   (2003-01-27 06:15:00) [1]

А насчет непрямоугольной кнопки - см. в справке API тему region functions. Скажем, овальная создается вызовом CreateEllipticRgn(Indirect), CombineRgn и SetWindowRgn. Но обычно после этого требуется "ручная" дорисовка.


Насчет   (2003-01-27 05:53:00) [2]

первого вопроса - перенеси строку
??? procedure ONL2Cl (Sender: TObject);
хотя бы на одну строку выше, тогда она у тебя станет методом класса, что собственно от нее и требуется.


Наверх

Титульная страница Поиск, карта сайта Написать письмо