на другую?
Что ты имеешь ввиду?
Я хочу чтобы окно было одно, а я просто менял указатель какой-нибудь с формы на форму и все
Ну возьми ссылку на Canvas
Спасибо, попробую
Но учти что рисовать вне события OnPaint - багадром. Рисуй в битмапе который и там и там отрисовывай
Можно пример? В канвасе нет битмапа
Делаю так: procedure TForm1.Button1Click(Sender: TObject); var LCanvas: TCanvas; begin LCanvas := Form1.Canvas; Form1.Canvas := NIL; Form2.Canvas := LCanvas; Form2.Canvas.Refresh; end; После нажатия кнопки ничего не меняется. После этого, если нажать на окно в любом месте, выдаёт ошибку: Проект project1 вызвал класс исключения 'External: SIGSEGV'. В файле 'customform.inc' на строке 1106: Canvas.Handle := DC; Процедура на которую отправляет отладчик (на строку 5 - Canvas.Handle := DC;) procedure TCustomForm.PaintWindow(dc: Hdc); begin // Canvas.Lock; try Canvas.Handle := DC; //DebugLn('[TCustomForm.PaintWindow] ',ClassName,' DC=',DbgS(DC,8),' ',DbgS(FCanvas.Handle,8)); try Paint; if FDesigner <> nil then FDesigner.PaintGrid; finally Canvas.Handle := 0; end; finally // Canvas.Unlock; end; end;
Зачем ты так делаешь?
А что ты этим вообще пытаешься сделать?))
B := TBitmap.Create(); B.SetSize(999,999); B.Canvas…..
Проверил. Canvas у TBitmap идёт от предка TRasterImage, у которого прописан доступ только на чтение. Таким способом не получится напрямую
Хочу чтобы формы были как страницы. Окно будет одно, меняться будет только какую форму выводить. А-ля страницы
Понятнее не стало. Особенно, желание менять местами канвас
Понял. Я сейчас сделаю картинку что хочу сделать, и ещё раз попробую описать
Ну так используй PageControl со скрытыми закладками или фреймы создавай. Заставлять одну форму отрисовываться на канвасе другой - очень странная идея
Блин, реально... То что мне нужно было). Спасибо
https://professorweb.ru/my/WPF/UI_WPF/level24/24_2.php
Ну тебе же там русским языком сказали, отказаться от окон и использовать Page
Я как раз сказал что мне это и нужно
Так а зачем тебе подменять канву? Рисуй в битмап, а его уже рисуй на формах
Ты можешь форму вставить в форму штатными средствами, или использовать фреймы, или PageControl
а положить форму/фрейм на TTabControl/TPageControl не по феншую?
Обсуждают сегодня