Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите с делать форму.

10K
19 ноября 2006 года
Webster
17 / / 19.10.2006
Помогите сделать форму так , чтобы допустим Label был виден на экране , а сама форма была не видна. Я хочу написать часы на рабочий стол. :)

Заранее спасибо :)
17K
19 ноября 2006 года
disabledx
24 / / 26.10.2006
Привет...
Попробуй установить свойство формы BorderStyle в bsSingle, ну и сделай размер формы как у Label.
261
19 ноября 2006 года
ahilles
1.5K / / 03.11.2005
и заодно поставь
transparentcolor:=true;
transparentcolorvalue:=form1.color;
339
20 ноября 2006 года
verybadbug
619 / / 12.09.2005
Цитата:
Попробуй установить свойство формы BorderStyle в bsSingle


в bsNone

3.2K
21 ноября 2006 года
Sania
186 / / 28.10.2006
Можешь через Region, форма получится действительно "прозрачной", тока если ее таскать, то будет притормаживать слегка.

Вот пример, модифицируй :D
Код:
function CreateRgnFromBitmap(rgnBitmap: TBitmap): HRGN;
var
  TransColor: TColor;
  i, j: Integer;
  i_width, i_height: Integer;
  i_left, i_right: Integer;
  rectRgn: HRGN;
begin
 Result := 0;
 i_width := rgnBitmap.Width;
 i_height := rgnBitmap.Height;
 transColor := rgnBitmap.Canvas.Pixels[0, 0];
 for i := 0 to i_height - 1 do
  begin
   i_left := -1;
   for j := 0 to i_width - 1 do
    begin
     if i_left < 0 then
      begin
       if rgnBitmap.Canvas.Pixels[j, i] <> transColor then
        i_left := j;
      end
     else
      if rgnBitmap.Canvas.Pixels[j, i] = transColor then
       begin
        i_right := j;
        rectRgn := CreateRectRgn(i_left, i, i_right, i + 1);
        if Result = 0 then
         Result := rectRgn
        else
         begin
          CombineRgn(Result, Result, rectRgn, RGN_OR);
          DeleteObject(rectRgn);
         end;
        i_left := -1;
       end;
    end;
   if i_left >= 0 then
    begin
     rectRgn := CreateRectRgn(i_left, i, i_width, i + 1);
     if Result = 0 then
      Result := rectRgn
     else
      begin
       CombineRgn(Result, Result, rectRgn, RGN_OR);
       DeleteObject(rectRgn);
      end;
    end;
  end;
end;

procedure TMainForm.FormCreate(Sender: TObject);
var
 WindowRgn: HRGN;
begin
 BorderStyle := bsNone;
 ClientWidth := Image1.Picture.Bitmap.Width;
 ClientHeight := Image1.Picture.Bitmap.Height;
 windowRgn := CreateRgnFromBitmap(Image1.Picture.Bitmap);
 SetWindowRgn(Handle, WindowRgn, True);
End;
387
21 ноября 2006 года
Ihbif19
421 / / 28.10.2004
Цитата: Sania
Можешь через Region, форма получится действительно "прозрачной", тока если ее таскать, то будет притормаживать слегка.

Вот пример, модифицируй :D
 
Код:
function CreateRgnFromBitmap(rgnBitmap: TBitmap): HRGN;
...
 windowRgn := CreateRgnFromBitmap(Image1.Picture.Bitmap);
 SetWindowRgn(Handle, WindowRgn, True);
End;


Это уже относится со всем к другому вопросу!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог