Главная страница
    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.042 c
10-1115047338
KZPAPGSNZAARET
2005-05-02 19:22
2006.03.26
Регистрация сервера приложений


2-1141852506
Новочеркасский Волк
2006-03-09 00:15
2006.03.26
Как заставит два TClientSocket одновременно отправлять текст???


11-1105701338
Bil Bal Dur
2005-01-14 14:15
2006.03.26
использование памяти


3-1138863564
DelphiN!
2006-02-02 09:59
2006.03.26
Выбор всех значений, которые принадлежат интервалу времени


15-1141204071
Kerk
2006-03-01 12:07
2006.03.26
Ask Yahoo





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