Форум: "Начинающим";
Текущий архив: 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