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

Вниз

ActiveX Control   Найти похожие ветки 

 
sirin   (2004-07-26 19:02) [0]

Народ, помогите, пол дня парюсь, уже задолбался вконец =(((
Есть простейший компонент, все что он делает, это рисует крест.
вот код

unit mgXShape;

interface

uses
 Classes, Graphics, Controls;
               
type
 TmgXShape = class(TGraphicControl)
 private
 protected
   procedure Paint; override;
 public
   constructor Create(AOwner: TComponent); override;
 published
   property Width default 20;
   property Height default 20;
 end;

procedure Register;

implementation

constructor TmgXShape.Create;
begin
  inherited Create(AOwner);
  Width:=20;
  Height:=20;
end;

procedure TmgXShape.Paint;
begin
 with Canvas do
 begin
   Pen.Width := 3;
   pen.color := clBlack;
   MoveTo(0,0);
   LineTo(Width,Height);
   MoveTo(0,height);
   LineTo(Width,0);
 end;
end;

procedure Register;
begin
 RegisterComponents("Our components", [TmgXShape]);
end;

end.



мне нужно сделать с него ActiveX Control

я провожу стандартние действия, с помощью ActiveX Control Wizard выбираю свой класс, но в получаемом коде появляются ошибки

procedure TmgXShapeX.InitializeControl;
begin
 FDelphiControl := Control ;//as TmgXShape;
end;
- Incoplatible types "TmgXShare" and "TWinControl"

как с этим боротся?


 
MU ©   (2004-07-26 19:29) [1]

Наследуй свой компонент от TWinControl


 
MU ©   (2004-07-26 19:33) [2]

т.е от TCustomControl :)


 
sirin   (2004-07-26 20:28) [3]

Сделал.
Проэкт скомпилился нормально, но при запуске експлорера выдает ошибку.... =(


 
Сашенька ©   (2004-08-03 18:20) [4]

Тут вроде тут поминимому:
Если узнаешь как сделать его не визуальным то скажу большое спасибо: sanek@optima.com.ua

type
 My = class(TCustomControl)
 private
  procedure SetParent(AParent: TWinControl); override;
 protected
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;
  procedure Paint; override;
  function CanResize(var NewWidth: Integer; var NewHeight: Integer): Boolean; override;
 public
   { Public declarations }
 published
  property Align;
  property Font;
  property Caption;
 end;

procedure Register;

implementation

procedure Register;
 Begin
   RegisterComponents("ActiveX", [My]);
 End;

{ T_ColorDialogVisualComponent }

Function My.CanResize(var NewWidth,
 NewHeight: Integer): Boolean;
 Begin
   Result := false;
 End;

constructor My.Create(AOwner: TComponent);
 Begin
   Inherited Create(AOwner);
   Height := 26;
   Width := 26;
   Visible := false;
 End;

Destructor My.Destroy;
 Begin
   inherited Destroy;
 End;

procedure My.Paint;
 Begin
   Canvas.Pen.Color := $00FF00;
   Canvas.MoveTo(0,0);
   Canvas.LineTo(Width,Height);
   Canvas.MoveTo(Width,0);
   Canvas.LineTo(0,Height);
 End;

procedure My.SetParent(AParent: TWinControl);
 Begin
   inherited;
 End;




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

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

Наверх





Память: 0.46 MB
Время: 0.052 c
6-1114022677
Ospa
2005-04-20 22:44
2005.07.31
TidPop3 tidsmtp


1-1121026051
Arc
2005-07-11 00:07
2005.07.31
Как отловить момент после создания новой формы?


14-1120752571
Chuvak
2005-07-07 20:09
2005.07.31
Возможно ли такое?


14-1121173028
Толян
2005-07-12 16:57
2005.07.31
Работа с модемом


14-1121057122
sofs
2005-07-11 08:45
2005.07.31
Учебник по WinAPI





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