Форум: "WinAPI";
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];
ВнизURL Найти похожие ветки
← →
Evgeny (2001-12-30 07:27) [11]Попытаюсь объяснить. Вот сам объект:
type
TOnEvent = procedure(Sender : TObject) of Object;
TUrlLabel = class
private
fParent : HWND;
fAlign : TTextAlign;
fRect : TRect;
fUrl : String;
fSelect : Boolean;
fPressed : Boolean;
fDefColor : ColorRef;
fSelColor : ColorRef;
fDefFont : HFONT;
fSelFont : HFONT;
fFontSize : Integer;
fHint : String;
fOnOverURL : TOnEvent;
fOnURLClick : TOnEvent;
procedure SetOnURL(const Index: Integer; const Value: TOnEvent);
procedure SetUrlText(Value : String);
procedure SetLinkColor(const Index: Integer; Value : ColorRef);
procedure SetFontSize(Value : Integer);
procedure SetAlign(Value : TTextAlign);
procedure SetHint(Value : String);
public
Handle : HWND;
tti : TToolInfo;
constructor Create(x, y, w, h : Integer; hParent : HWND);
destructor Destroy; override;
procedure Redraw;
published
property Align: TTextAlign read fAlign write SetAlign;
property aRect: TRect read fRect;
property FontSize: Integer read fFontSize write SetFontSize;
property Hint: String read fHint write SetHint;
property DefColor: ColorRef index 0 read fDefColor write SetLinkColor;
property SelColor: ColorRef index 1 read fSelColor write SetLinkColor;
property Selected: Boolean read fSelect;
property URL: String read fUrl write SetUrlText;
property OnOverURL: TOnEvent index 0 read fOnOverURL write SetOnURL;
property OnURLClick: TOnEvent index 8 read fOnURLClick write SetOnURL;
end;
{----------------------------------------------------------}
procedure TUrlLabel.SetOnURL(const Index: Integer; const Value: TOnEvent);
begin
if Index = 0 then
fOnOverURL := Value
else
fOnURLClick := Value;
end;
Вызов:
WM_INITDIALOG :
begin
for I := 0 to 29 do
begin
Url[I] := TUrlLabel.Create(I * 14 + 14, 6, 14, 16, hWndDlg);
with Url[I] do
begin
Url := Alpha[I];
Hint := Alpha[I];
// OnUrlClick := UrlClick;
end;
end;
{----------------------------------------------------------}
// Тест
procedure UrlClick;
begin
MessageBox(Wnd, "Url Click", "Внимание", MB_OK);
end;
Ну а так как этот объект единственный, а само WinAPI по определению процедурное, то не могу сообразить как мне теперь организовать вызов
OnUrlClick := UrlClick;
Вот собственно и весь вопрос. Сожалею, что не совсем понятно описал в первый раз.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c