Главная страница
    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.035 c
14-1120815627
Macrodens
2005-07-08 13:40
2005.07.31
Кто знает, где можно скачать


1-1121090924
webpauk
2005-07-11 18:08
2005.07.31
Глюки с закрытием приложения


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


3-1118302398
Lenik
2005-06-09 11:33
2005.07.31
Как из программы на делфи запустить встроенную процедуру SQL серв


1-1121157299
webpauk
2005-07-12 12:34
2005.07.31
ToolButton и DropDownMenu





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