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

Вниз

color button??   Найти похожие ветки 

 
sergiu   (2003-06-04 17:55) [0]

Можно ли получить из стандартного TButton кнопку с канвой для рисования или закрашивания. Надо писать новый компонент или можно как-то иначе ???
Спасибо.


 
Spawn ©   (2003-06-05 16:32) [1]

Если тебе надо получить канвас кнопки, то можно работать чисто на АПИ, но лучше связать контекст кнопки с классом TCanvas и воспользоваться его возможностями:

var
Dc:HDC;
Canvas:TCanvas;
begin
try
Dc:=GetDc(Button1.Handle);
Canvas:=TCanvas.Create;
Canvas.Handle:=Dc;
//Дальше пользуешься методами канваса
except
ReleaseDc(Button1.handle,Dc);
Canvas.Free;
end;
end;


 
VMcL ©   (2003-06-05 18:29) [2]

>Spawn © (05.06.03 16:32)

Сам хоть посмотрел, что написал? :)


 
Spawn ©   (2003-06-05 21:42) [3]

А что тебе не нравится? Я писал без дельфи может что упустил. Поделись если ты такой умный.


 
Spawn ©   (2003-06-05 21:44) [4]

То есть скажи в чем моя ошибка по твоему мнению, если ты такой умный. Я ни раз пользовался подобным способом и ни когда не было траблов.


 
VMcL ©   (2003-06-05 21:50) [5]

>Spawn © (05.06.03 21:44)

1. >скажи в чем моя ошибка
В ДНК :)

2. В твоём коде "Canvas.Free" срабатывает только при исключении.


 
VMcL ©   (2003-06-05 21:52) [6]

>Spawn © (05.06.03 21:44)
дополнение к >VMcL © (05.06.03 21:50)<
также как и ReleaseDc(Button1.handle,Dc);


 
Spawn ©   (2003-06-05 21:53) [7]

А я что обязан писать весь код???????????? Я написал часть кода необходимую на создание канваса кнопки. Все! Об остальном чел пускай сам позаботится. Мне просто смешно. Бери пример с Song-а ))).

П.С. Краткость - сестра таланта )))))


 
Song ©   (2003-06-05 22:14) [8]

Spawn, ты вместо того, чтобы чего-то писать, а потом терпеть замечание насчёт написанного собою же кода и потраченного на это времени, лучше бы дал ссылку: http://forum.vingrad.ru/index.php?act=ST&f=2&t=9098&s=af6e44723f05fdd98b26d95fbfb2dc2c


 
Spawn ©   (2003-06-05 22:28) [9]

Вот так всегда - хочешь как лучше, а получается все наоборот. :( Ладно пойду я отсюда - злые вы все тут.


 
Song ©   (2003-06-05 22:37) [10]

:)


 
VMcL ©   (2003-06-06 14:37) [11]

>Spawn © (05.06.03 21:53)

Я сделал замечание, потому что приведенный тобой код работает принципиально неправильно: 1. приложение "заграбастает" под себя хендл GDI и никому не отдаст :) 2. Не уничтожится экземпляр класса TCanvas.


 
Spawn ©   (2003-06-06 15:00) [12]

Я уже ответил, почему я так написал.


 
Игорь Шевченко ©   (2003-06-06 16:25) [13]

VMcL © (05.06.03 18:29)

Ну спутал человек except и finally - с кем не бывает :)))


 
sergiu   (2003-06-06 18:19) [14]

Принцип понял, спасибо Вам всем!
Да ище один мой коллега откопал где-то компонент TColorBtn, так что пиа для раздумий есть!
Еще раз спасибо! Удачи!


 
VMcL ©   (2003-06-06 18:49) [15]

>Игорь Шевченко © (06.06.03 16:25)

Только признаваться не хочет :D)



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
14-58415
Михаил
2003-02-13 14:26
2003.08.18
поворот спрайтов в DxSpriteEngine


14-58458
Bless
2003-07-23 10:59
2003.08.18
Удаление из многих таблиц


14-58471
Zelius
2003-07-23 11:40
2003.08.18
Как получить пользовательское свойство базы в MS Access 2000?


14-58481
Vasya
2003-07-23 17:26
2003.08.18
Как получить события с сервера ?


14-58451
bug008
2003-07-31 21:57
2003.08.18
работа с MS Word и Excel