Форум: "Основная";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];
Вниз
Рисование в TPanel Найти похожие ветки
← →
Юра (2003-01-09 15:56) [0]Хочется рисовать на панели. Сделал так:
type
TMyPanel = class(TPanel)
published
property Canvas;
end;
При попытках рисовать ничего не происходит.
with MyPanel do begin
Canvas.Pen.Style := psSolid;
Canvas.Pen.Color:=clBlack;
Canvas.Rectangle(4, 4, 13, 13);
Canvas.FillRect(Rect(1,1,10,10));
end;
MyPanel, конечно, порождаю.
Что не так?
Положить на панель PaintBox не хочу :-)
← →
Игорь Шевченко (2003-01-09 16:27) [1]Попытка, надеюсь, происходит на обработке сообщения WM_PAINT ?
← →
Alex Che (2003-01-09 16:51) [2]Создай объект TCanvas и прилепи его к панели (свойство Control) и рисуй...
← →
Axis_of_Evil (2003-01-09 17:00) [3]Можно наверное так
var
PanelCanvas: TCanvas;
begin
PanelCanvas := TCanvas.Create;
PanelCanvas.Handle := GetDC(Panel1);
// рисуем ...
...
end;
Кстати, если на API, то как, ведь, например
Rectangle( Handle: hdc ; ...);
← →
Юра (2003-01-09 17:01) [4]ОК, заработало, спасибо.
← →
Юра (2003-01-09 17:10) [5]Возможно, я пошел немножко не тем путем. Нужно мне это вот для чего: есть палитра (TToolPanel), с нее на форму кидаются элементы - как в Delphi. Реально я создаю в run-time такой вот наследник панели, в котором еще лежат различные картинки и некая логика. Нужно это, например, для моделирования логических схем - на палитре лежат элементы И, ИЛИ, НЕ, MUX, CD, DC и т.п., "внутри" TMyPanel - символика того, что рисуется на панели и логика работы элемента.
Возможно, я избрал не лучший путь и есть лучший вариант?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c