Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2012, 18:04   #1
Ingushit
 
Аватар для Ingushit
 
Регистрация: 03.02.2012
Сообщений: 8
По умолчанию Канва формы при создании новой компонеты.

Возможно ли при создании новой компоненты использовать канву формы??
Ingushit вне форума Ответить с цитированием
Старый 04.02.2012, 18:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Почему бы нет? Компонент кидается на форму? Тогда Owner.Canvas укажет на ее канву.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2012, 18:28   #3
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

да, вполне. через конструктор.
Код:
  constructor Create(AOwner: TComponent); override;
AOwner вполне может быть указателем на форму, на которой размещен компонент.
так вот и добирайся до канвы
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 04.02.2012, 18:40   #4
Ingushit
 
Аватар для Ingushit
 
Регистрация: 03.02.2012
Сообщений: 8
По умолчанию

Попробовал вот так, но ничего не выходит:
Код:
unit QBB1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls, Variants, ExtCtrls;

var Form:TForm;
type
  TResBut = (onRazmer, offRazmer);
  TBB1 = class(TButton)

  private
    { Private declarations }
    FResBut : TresBut;

  protected
    { Protected declarations }
       procedure MouseDown( Button: TMouseButton;Shift: TShiftState; X, Y: Integer);override;
  public
    { Public declarations }

  published
    { Published declarations }

     constructor Create(aowner:Tcomponent);override;
     property ResBut: TResBut read FResBut write FResBut;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Standard', [TBB1]);
end;

constructor TBB1.create(Aowner:Tcomponent);
begin
     inherited create(Aowner);
     Form:=TForm.Create(self);

end;

procedure TBB1.MouseDown( Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
begin
    inherited;
    Form.Canvas.Rectangle(10,10,50,50);
end;

Последний раз редактировалось Stilet; 04.02.2012 в 19:50.
Ingushit вне форума Ответить с цитированием
Старый 04.02.2012, 18:46   #5
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

Код:
constructor TBB1.create(Aowner:Tcomponent);
begin
inherited create(Aowner);
Form:=TForm.Create(self);

end;
не так.

Код:
constructor TBB1.create(Aowner:Tcomponent);
begin
inherited;
Form:=Aowner;
end;
вот как то так. или:
Код:
Form:=Aowner as tform;
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 04.02.2012, 18:48   #6
Ingushit
 
Аватар для Ingushit
 
Регистрация: 03.02.2012
Сообщений: 8
По умолчанию

Спасибо, работает=)
Ingushit вне форума Ответить с цитированием
Старый 04.02.2012, 18:53   #7
Ingushit
 
Аватар для Ingushit
 
Регистрация: 03.02.2012
Сообщений: 8
По умолчанию

и еще один вопрос, как подключить другие компоненты. Мне нужен RadioButton. Чтобы прояснить ситуацию: при нажатии кнопки мыши появляется меню из RadioButton.
Ingushit вне форума Ответить с цитированием
Старый 04.02.2012, 19:09   #8
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

Цитата:
меню из RadioButton
эт что за зверь?
это контекстное меню, в котором будут рабиобатоны?
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 04.02.2012, 19:19   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Stilet, MadReason неверно, нельзя Owner трактовать иначе.
он не обязан быть.
Parent для кого придумали?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.02.2012, 19:22   #10
Ingushit
 
Аватар для Ingushit
 
Регистрация: 03.02.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от MadReason Посмотреть сообщение
эт что за зверь?
это контекстное меню, в котором будут рабиобатоны?
меню из нескольких radiobutton)
Ingushit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл при создании главной формы Anfall Общие вопросы Delphi 8 19.08.2010 19:09
Появление новой формы при нажатии на кнопку. vedro-compota Общие вопросы Delphi 14 11.05.2010 15:08
Фоновая музыка при создании формы JNLYSk Мультимедиа в Delphi 3 13.09.2009 20:08
Добавить запись при создании формы Zerone БД в Delphi 9 20.03.2009 16:06
При создании формы! Anton Помощь студентам 4 08.08.2007 08:20