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

Вниз

Как добавить к компоненту TColorDialog кнопку TButton?   Найти похожие ветки 

 
ColD.Handle   (2006-03-10 00:43) [0]

Я пробовал так

VAR ColD:TColorDialog;

RESBUTTON:=TButton.CreateParented(ColD.Handle);

Но у TColorDialog хендл=0

Как быть?


 
Defunct ©   (2006-03-10 00:55) [1]

а просто кинуть TColorDialog на форму не пробовали?
в обработчике кнопки:

if ColorDialog1.Execute then
begin
 ..
end;


 
ColD.Handle   (2006-03-10 01:02) [2]

>а просто кинуть TColorDialog на форму не пробовали?
Попробовал, так тоже  хендл = 0.


 
Defunct ©   (2006-03-10 02:15) [3]

Наконец-то понял ваш вопрос. Кнопку к диалогу прикрутить не удастся, т.к. TColorDialog это "вещь в себе" и окно диалога создается динамически при вызове execute.


 
Германн ©   (2006-03-10 02:37) [4]


> ColD.Handle   (10.03.06 00:43)

А кто или что мешает написать наследника TColorDialog с новой кнопкой и с её обработчиком?


 
Джо ©   (2006-03-10 02:53) [5]

procedure TForm1.Button1Click(Sender: TObject);
begin
 if ColorDialog1.Execute then
   /// blabla
end;

// OnShow event
procedure TForm1.ColorDialog1Show(Sender: TObject);
begin
 Windows.SetParent(Button2.Handle,ColorDialog1.Handle);
 // тут выбираем место для кнопки
 Button2.Left := 100;
 Button2.Top := 0;
end;

// OnClose event
procedure TForm1.ColorDialog1Close(Sender: TObject);
begin
 Windows.SetParent(Button2.Handle,Handle);
end;

Только, разумеется, нажатие на эту кнопку ни к чему не приведет, да это в вопросе и не требовалось :-)


 
Германн ©   (2006-03-10 03:02) [6]


> Только, разумеется, нажатие на эту кнопку ни к чему не приведет,
>  да это в вопросе и не требовалось :-)


:-)


 
Джо ©   (2006-03-10 03:09) [7]

> Но у TColorDialog хендл=0
>
> Как быть?

Прочитать несколько куцых предложений из Справки по поводу Handle. Я прочитал (минут 20 назад), в результате родил код из [5] :)


 
Defunct ©   (2006-03-10 05:25) [8]


> Прочитать несколько куцых предложений из Справки по поводу
> Handle. Я прочитал (минут 20 назад), в результате родил
> код из [5] :)

А я не читал, и родил диалог такой же как в фотошопе ;>
вывод - лишнее знание иногда вредит ;>


 
Джо ©   (2006-03-10 05:31) [9]

> [8] Defunct ©   (10.03.06 05:25)
> А я не читал, и родил диалог такой же как в фотошопе ;>

Такой как в Фотошопе, за минуту не родишь :P Одну пантоновскую таблицу набить чего стоит :)


 
Defunct ©   (2006-03-10 05:45) [10]

не за минуту, конечно, часов 8 отняло, зато функционально, красиво и на долго ;>


 
ColD.Handle   (2006-03-10 17:39) [11]

Спасибо, вот сделал:

type
 TForm1 = class(TForm)
//
   procedure cl(Sender: TObject);
 private
 public
end;

var   Form1: TForm1;  TNotifyEvent;
TP:TPanel; B:TButton;  cl:TNotifyEvent;

procedure TForm1.cl;
BEGIN
 beep;
END;

procedure TForm1.ColorDialog1Show(Sender: TObject);
begin
   TP:=TPanel.CreateParented(ColorDialog1.Handle);
   Windows.SetParent(TP.Handle,ColorDialog1.Handle);
   TP.Parent:=self;
   TP.top:=270;TP.Left:=150;  TP.Height:=24; TP.Width:=65;
   B:=TButton.Create(self);
   B.Parent:=TP;
   B.Caption:="Default"; B.Width:=65;B.Height:=23;
   B.OnClick:=cl;
end;

procedure TForm1.ColorDialog1Close(Sender: TObject);
begin
 B.Free;TP.Free;
end;



Пришлось кноку на панель ставить.



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

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

Наверх





Память: 0.47 MB
Время: 0.041 c
2-1141670649
KILROY
2006-03-06 21:44
2006.03.26
ADOTable...


2-1141670609
margo
2006-03-06 21:43
2006.03.26
удаление пробелов


2-1141668489
vital538
2006-03-06 21:08
2006.03.26
FireBird


2-1142138454
ученик1
2006-03-12 07:40
2006.03.26
Структура TSearchRec


15-1141385636
Rule
2006-03-03 14:33
2006.03.26
Как расшарить СОМ-порт по сети





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