Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 233

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты! Как рисовать на определённой вкладке PageControl без помещения на него компонента Image? Допустим, вкладки 3, нужно нарисовать на второй

alone Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: alone (статус: Посетитель)
Вопрос отправлен: 25 декабря 2008, 10:15
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 25 декабря 2008, 15:14; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 25 декабря 2008, 11:09 [#1]:

Попробовать свойсво PageControl1.page[2].Canvas
А далее по накатанной. О рисовании на канве есть много статей.
Но вот только я не помню, получиться ли так, есть ли там это свойство.
Может всё таки проще поставить Image или PaintBox?
Галочка "подтверждения прочтения" - вселенское зло.
alone

alone (статус: Посетитель), 25 декабря 2008, 12:54 [#2]:

Не получается с помощью PageControl1.pages[2].Canvas. пришлось делать через Image. Спасибо
Пупкин В.В.

Пупкин В.В. (статус: 1-ый класс), 25 декабря 2008, 13:02 [#3]:

Блин а хотелось бы разобраться =(
Мож кто знает решение. Например чтоб когда кликаешь на втором ярлыке - рисовалось чет на этой вкладке.
Вадим К

Вадим К (статус: Академик), 25 декабря 2008, 14:16 [#4]:

А можно не ругаться? ну никрасиво как то. Проверил - нет там канвы. Но рисовать точно можно, когда то рисовал.Вроде я обрабатывал сообщение WM_PAINT (событие OnPaint)и проверял вкладку.
Галочка "подтверждения прочтения" - вселенское зло.
Пупкин В.В.

Пупкин В.В. (статус: 1-ый класс), 25 декабря 2008, 15:12 [#5]:

Найдено решение =)

в событии OnChange компонента PageControl1
что-то типа:

procedure TForm1.PageControl1Change(Sender: TObject);
var DC:HDC;
TS_Canvas:TCanvas;
begin
DC := GetDC(TabSheet2.Handle);
TS_Canvas:= TCanvas.Create;
TS_Canvas.Handle:=DC;
TS_Canvas.Ellipse(10,10,50,50);
end;
Вадим К

Вадим К (статус: Академик), 25 декабря 2008, 15:13 [#6]:

А чистить за собой память потом собираетесь? А то будут такие утечки....
Галочка "подтверждения прочтения" - вселенское зло.
Пупкин В.В.

Пупкин В.В. (статус: 1-ый класс), 25 декабря 2008, 15:14 [#7]:

не забываем ReleaseDC и TS_Canvas.Free

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:44
Выполнено за 0.02 сек.