Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.038 c
1-1121137529
gydvin
2005-07-12 07:05
2005.07.31
Richedit


3-1118923708
evg00
2005-06-16 16:08
2005.07.31
Проблема с запросом


14-1121248038
Некто
2005-07-13 13:47
2005.07.31
Имитация клавиатуры (заглушка)


10-1097086180
ИМХО
2004-10-06 22:09
2005.07.31
Набор закладок в вордовском документе


4-1117945682
QAndrey
2005-06-05 08:28
2005.07.31
Icon в меню





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