Помогите составить функцию (delphi)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by VADIK-XXX, 20 May 2007.

  1. VADIK-XXX

    VADIK-XXX Elder - Старейшина

    Joined:
    18 Oct 2006
    Messages:
    39
    Likes Received:
    5
    Reputations:
    -2
    при запуске на экране появляется рамка с заданными координатами. размеры рамки должны меняться мышью. При двойном клике мыши внутри рамки возвращает битмэп части экрана в рамке и координаты рамки.

    Кто-нибудь помогите с етой функцией на делфи
     
    #1 VADIK-XXX, 20 May 2007
    Last edited: 20 May 2007
    2 people like this.
  2. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    Читаем /thread38814.html и получаем -1
     
  3. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 _Great_ Жестокий ты человек :)
     
  4. Xserg

    Xserg Elder - Старейшина

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    Как создать окно с дыркой и прочитать BMP из дыры :)
    смотри здесь:
    Исходник на Dеlphi7 + программа + (Из часов переделана)
    http://slil.ru/24396826 clock.rar 166,619 байт.

    Не знаю твой уровень , как программиста ,если что не понятно , спрашивай.
     
  5. VADIK-XXX

    VADIK-XXX Elder - Старейшина

    Joined:
    18 Oct 2006
    Messages:
    39
    Likes Received:
    5
    Reputations:
    -2
    Спасиб
     
  6. VADIK-XXX

    VADIK-XXX Elder - Старейшина

    Joined:
    18 Oct 2006
    Messages:
    39
    Likes Received:
    5
    Reputations:
    -2
    Большое спасибо, но я неразобрался в том как оставить одну рамку а часы убрать. Сможешь помочь?
     
  7. Xserg

    Xserg Elder - Старейшина

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    На OnResize добаиляем
    Code:
    procedure TForm1.FormResize(Sender: TObject);
    var P : array [0..9] of TPoint;
        dm:dword;
    begin
    form1.BorderStyle:=bsSizeToolWin;
    form1.BorderWidth:=0;
    dm:=form1.Height-form1.ClientHeight;
    P[0] := Point(0,0);
    P[1] := Point(form1.Width,0);
    P[2] := Point(form1.Width,form1.Height);
    P[3] := Point(0,form1.Height);
    R := CreatePolygonRgn(P, 4, Alternate);
    P[0] := Point(2,dm);
    P[1] := Point(form1.Width-2,dm);
    P[2] := Point(form1.Width-2,form1.Height-2);
    P[3] := Point(2,form1.Height-2);
    R1 := CreatePolygonRgn(P, 4, Alternate);
    CombineRgn(R, R, R1, RGN_DIFF);
    SetWindowRgn(form1.Handle,R,true);
    end;
    
    Можно поизвращается с регионами - создать места для перетаскивания.
     
  8. VADIK-XXX

    VADIK-XXX Elder - Старейшина

    Joined:
    18 Oct 2006
    Messages:
    39
    Likes Received:
    5
    Reputations:
    -2

    Благодарю....