Контур формы по картинке

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Контур формы по картинке

Сообщение user6745 » 15.03.2021 19:19:34

Задаем нажатием кнопки форму по белому цвету картинки

Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
  ABitmap: TBitmap;
begin
  // Скрыть заголовок окна
  BorderStyle:= bsNone;
  ABitmap:= TBitmap.Create;
  // Загружаем картинку
  ABitmap.LoadFromFile('1.bmp');
  ABitmap.Monochrome:=True;
  SetShape(ABitmap);

  ABitmap.Free;
end;


Если я помещаю этот код в обработчик нажатия кнопки, то он срабатывает. А если помещаю в FormCreate, то не срабатывает. Как сделать чтобы он срабатывал в FormCreate?
user6745
новенький
 
Сообщения: 11
Зарегистрирован: 15.01.2021 20:05:25

Re: Контур формы по картинке

Сообщение скалогрыз » 16.03.2021 00:07:08

user6745 писал(а):Как сделать чтобы он срабатывал в FormCreate?

он не срабатывает, потому что у формы ещё не создан Handle
вместо FormCreate используй FormShow

Ещё можно перед вызовом SetShape вызывать CreateHandle, если использование FormCreate обязательно
скалогрыз
долгожитель
 
Сообщения: 1772
Зарегистрирован: 03.09.2008 02:36:48

Re: Контур формы по картинке

Сообщение user6745 » 16.03.2021 19:02:10

скалогрыз писал(а):
user6745 писал(а):Как сделать чтобы он срабатывал в FormCreate?

он не срабатывает, потому что у формы ещё не создан Handle
вместо FormCreate используй FormShow

Ещё можно перед вызовом SetShape вызывать CreateHandle, если использование FormCreate обязательно


Спасибо, помогло. Теперь использую FormShow.
user6745
новенький
 
Сообщения: 11
Зарегистрирован: 15.01.2021 20:05:25


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], Google Adsense [Bot], MailRu[bot] и гости: 16

Рейтинг@Mail.ru