Главная страница
    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.047 c
2-1141908126
TrainerOfDolphins
2006-03-09 15:42
2006.03.26
Работа с MultiSelect в DBGrid


2-1141379563
Логин
2006-03-03 12:52
2006.03.26
Импорт из Excel.


1-1140421588
Chaser
2006-02-20 10:46
2006.03.26
Как изменить выделение строки в ListView?


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


10-1115368225
Владислав
2005-05-06 12:30
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский