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

Вниз

Компонент на формах   Найти похожие ветки 

 
Паша5   (2004-04-15 15:59) [0]

Помогите .
Как сделать, чтобы отобразить компонент расположенный на форме А,на форме Б
Думаю вопрос ламерский,но помочь надо :)))
Спасибо


 
TUser ©   (2004-04-15 16:02) [1]

Parent. Но лучше создаьть новый компонент и сделать ему assign


 
Паша5   (2004-04-15 16:04) [2]

Почему лучше создавать новый ?


 
Reindeer Moss Eater ©   (2004-04-15 16:05) [3]

Потому что не жалко


 
Паша5   (2004-04-15 16:07) [4]

А как насчет грамотно ответить
А не иронизировать ?


 
Юрий Зотов ©   (2004-04-15 16:12) [5]

> Паша5   (15.04.04 16:07) [4]

А как насчет задать вопрос ПОНЯТНО?
Например, нужно СКОПИРОВАТЬ компонент, или ПЕРЕНЕСТИ его?


 
Паша5   (2004-04-16 00:17) [6]

А как насчет прочитать и осмыслить ???
Я же написал - ОТОБРАЗИТЬ
Это значит что компонент (КомбоБокс) находится на форме А, но его необходимо расположить и на форме Б.
Спасибо


 
Rouse_ ©   (2004-04-16 00:27) [7]

Продолжаем телепать :)

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 end;

var
 Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 Button2.Parent := Form2;
 Form2.ShowModal;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 ShowMessage("Parent is: " + Button2.Parent.Name);
end;

end.


Это надо?


 
Паша5   (2004-04-16 00:42) [8]

Вот это другое дело - просто, быстро, понятно.
Просьба к мастерам - пишите код - для вас это не трудно - всем ламерам понятно :)))

СПАСИБО Rouse !!!!


 
Паша5   (2004-04-16 00:51) [9]

Только надо чтобы кнопочка твоя на обеих формах оставалась....
:)))


 
Cobalt ©   (2004-04-16 01:16) [10]

2 Rouse_ ©   (16.04.04 00:27) [7]
Шурик, это же не наш метод!!!


 
Паша5   (2004-04-16 01:21) [11]

А у Вас какой ?


 
Германн ©   (2004-04-16 01:25) [12]

2 Паша5   (16.04.04 00:17) [6]
>>А как насчет прочитать и осмыслить ???
>Я же написал - ОТОБРАЗИТЬ
>Это значит что компонент (КомбоБокс) находится на форме А, но >его необходимо расположить и на форме Б.

То, что ты написал (специально не выделил ударение :-)), ничего не значит! Все равно ничего не понятно.
Если некий визуальный (а только его и можно хоть как-то отобразить) компонент "расположен" на форме A, то его
никак нельзя отобразить на форме B без переноса на форму B (т.е. замены Parent"a) или без копирования (т.е. создания нового компонента того же типа, но с FormB в качестве Parenta и  копирования всех свойств исходного компонента).


 
Паша5   (2004-04-16 01:41) [13]

Нда люди, сначала все бегом Русский Язык учить.
Потом советы давать....


 
TUser ©   (2004-04-16 07:45) [14]


> Нда люди, сначала все бегом Русский Язык учить.

Зачем? Спавка, она знаешь ли на буржуйском написана.

var b:TBitMap;
begin
  b:=TBitmap.Create;
  with button1 do begin
     b.Width:=width;
     b.Height:=height;
     bitblt(b.Canvas.Handle,0,0,width,height,b.Handle,0,0,SRCCOPY);
     form2.Canvas.CopyRect(Rect(left,top,left+width,top+height),b.Canvas,b.Canvas.ClipRect);
     form2.Show;
     end;
end;


PS. Пишется с помощью упомянутой справки минут за 10. Кстати, можно моменьше хамить, а то мастера обядятся знаешь ли и не будут больше писать твои кпроги :)

PPS. Долго думал писать этот код или нет, но потом решил запостить. Но учти - там специально вставлено 2 ошибки. Их надо найти, иначе ничего не будет работать. Как увидешь в коде незнакомое слово - сразу жми F1.


 
KSergey ©   (2004-04-16 07:58) [15]

Удалено модератором
Примечание: Мы тоже злые с утра... :)


 
Юрий Зотов ©   (2004-04-16 08:53) [16]

Паша, если ты такой умный - чего вопросы задаешь?

А насчет "сначала все бегом Русский Язык учить" - сначала научись правильно расставлять запятые, потом бегом вот сюда:
http://lleo.aha.ru/na/index.shtml


 
Романов Р.В. ©   (2004-04-16 10:58) [17]


> Юрий Зотов ©   (16.04.04 08:53) [16]


Фи, как грубо...


 
Sun bittern ©   (2004-04-16 11:07) [18]

Романов Р.В. ©   (16.04.04 10:58) [17]

А небудет передергивать :) Намекнули на некоректность заданного вопроса: Германн ©   (16.04.04 01:25) [12]

дык еще и придерается: Паша5   (16.04.04 01:41) [13]

Надо бы еще одну ссылку запостить знаменитую (тока я ее не помню) (Rouse_, Игорь Шевченко дело за вами ;-))


 
Юрий Зотов ©   (2004-04-16 11:14) [19]

> Романов Р.В. ©   (16.04.04 10:58) [17]

Грубо. Причем нарочно. Мораль простая: не надо хамить - не нарвешься на встречную грубость.


 
Паша5   (2004-04-16 15:01) [20]

Во первых вопрос был задан правильно (с моей точки зрения,про запятые молчу - просто не придал им значения)
ОТОБРАЖЕНИЕ - загляните в толковый словарь , найдете его значение и есть копия....
Второе хамить я не хамил а про русский язык упомянул только после соответствующих сообщений....
Втретьих, пользователи задающие вопросы хотят получить толковые грамотные ответы и уж никак не "Потому что не жалко"...
Поверьте , это злит не меньше чем "тупость" наших ламерских вопросов....
Я понимаю что многие вопросы лишены конкретности, но ведь нельзя задать вопрос очень точно и правильно,  до конца не зная функционирования и возможностей решения задачи, ведь поэтому мы и спрашиваем Вас.....
Гораздо проще было знающему человеку вежливо переспросить а еще лучше написать пару различных решений, чем флудить....
Если я кого то обидел, то прошу извинить меня, я этого не хотел.
Надеюсь вы меня простите :)))


 
Романов Р.В. ©   (2004-04-16 15:15) [21]

Sun bittern ©   (16.04.04 11:07) [18]
Юрий Зотов ©   (16.04.04 11:14) [19]

Ну прям как дети. А вообще человек нормально начал общатся, а потом его завели
Reindeer Moss Eater ©   (15.04.04 16:05) [3]
и
Юрий Зотов ©   (15.04.04 16:12) [5]
и понеслось.
Прям как в автобусе в час пик :))


 
Паша5   (2004-04-16 15:25) [22]


> Романов Р.В.

Спасибо за понимание....
Поэтому и извинился, чтобы дальше не неслось....
Давайте жить ДРУЖНО !!! :)))


 
Романов Р.В. ©   (2004-04-16 15:27) [23]

А по твоему вопросу либо Rouse_ ©   (16.04.04 00:27) [7] либо создавать кнопку на второй форме и копировать нужные свойства из первой.


 
Юрий Зотов ©   (2004-04-16 15:37) [24]

Ладно, проехали. Будем считать, что каждый для себя выводы сделал.

> Паша5 (16.04.04 15:01) [20]

Перебросить - просто изменить Parent. Скопировать - с этим сложнее. Проще (и лучше) всего создать на форме Б новый компонент того же класса и выполнить Assign. Это скопирует ТЕКУЩЕЕ состояние компонента - то есть, все текущие значения его свойств.

Но Assign реализовано не во всех классах, поэтому может и не получиться. Правда, можно создать своего потомка и в нем реализовать полный Assign - вот с ним уже и работать.

Если компонент не содержит ссылок (а к ним относятся и строки), то можно создать новый, а потом скопировать область памяти одного объекта в другой (см. Move и InstanceSize). Если же содержит - то после такого копирования возможны глюки, причем не сразу возникающие и труднолокализуемые.

В общем, УНИВЕРСАЛЬНОГО способа создания клонов не существует. Все зависит от конкретной задачи.


 
Паша5   (2004-04-16 15:53) [25]

СПАСИБО


 
Rouse_ ©   (2004-04-16 16:11) [26]

Оффтоп:
> [18] Sun bittern ©   (16.04.04 11:07)
Ссылка эта выглядит так:
http://ln.com.ua/~openxs/articles/smart-questions-ru.html
Если про нее была речь :))



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.026 c
1-1081865761
Rusty
2004-04-13 18:16
2004.05.02
Как определить текущее состояние приложения?


1-1082266470
mur
2004-04-18 09:34
2004.05.02
TToolBar


6-1077897538
Andrew
2004-02-27 18:58
2004.05.02
Сертификаты открытого ключа


1-1082307275
DK
2004-04-18 20:54
2004.05.02
Нужно папку запоролить. Как моно сделать


14-1081602499
ss300
2004-04-10 17:08
2004.05.02
InstallShield for Delphi