Конференция "WinAPI" » Рисунок за границами окна [D7, WinXP]
 
  • Damien (19.04.08 17:52) [0]
    Уважаемые мастера, подскажите, как создать приложение, в котором рисунок может выходить за границы окна? Я знаю, что можно получить DC рабочего стола и рисовать прямо на экране, но мне необходимо, чтобы окно и рисунок являлись одним целым. Рисунок хранится в Image. Заранее спасибо
  • {RASkov} © (19.04.08 18:34) [1]
    > [0] Damien   (19.04.08 17:52)

    > Рисунок за границами окна

    Именно как ты хочешь нельзя. Но можно окно создать по рисунку....
  • Damien (19.04.08 18:39) [2]
    Именно по рисунку, а не по его контуру?
  • {RASkov} © (19.04.08 18:51) [3]
    > [2] Damien   (19.04.08 18:39)

    Почему вопрос в винапи? Тебе точно все это на АПИ нужно?
    Может достаточно будет:
    object Form1: TForm1
     Left = 349
     Top = 101
     AutoSize = True
     BorderStyle = bsNone
     Caption = 'Form1'
     ClientHeight = 68
     ClientWidth = 111
     Color = clWhite
     TransparentColor = True
     TransparentColorValue = clWhite
     Font.Charset = DEFAULT_CHARSET
     Font.Color = clWindowText
     Font.Height = -11
     Font.Name = 'MS Sans Serif'
     Font.Style = []
     OldCreateOrder = False
     PixelsPerInch = 96
     TextHeight = 13
     object Image1: TImage
       Left = 0
       Top = 0
       Width = 79
       Height = 68
       AutoSize = True
       Picture.Data = {
         07544269746D61706E030000424D6E030000000000003E000000280000004F00
         0000440000000100010000000000300300000000000000000000020000000200
         000000000000FFFFFF00FFFFFFFFFFFFFFFFFFFE0000FFFFFFFFFA0FFFFFFFFE
         0000FFFFFFF800003FFFFFFE0000FFFFFF00000003FFFFFE0100FFFFFC000000
         007FFFFE0400FFFFF0000000001FFFFE0700FFFFC0000060000FFFFE0A00FFFF
         800020200003FFFE0D00FFFF0007C0100001FFFE1000FFFE000400180000FFFE
         1300FFFC001C000800003FFE1600FFF8003C000C38001FFE1900FFF0007C000D
         FC000FFE1C00FFE001FC0007FC0007FE1F00FFC003F80007FF8003FE2200FF80
         0FFC0007F9F001FE2400FF000FF80007FCC001FE2800FF001FF8000FFCC000FE
         2B00FE000FF8001FFCC0007E2E00FC000FF8007FFC00003E3000FC000FF807FF
         F600003E3400F80007F83FFFEE00003E3700F80007FFFFFFFE00001E3A00F000
         03FFFFFFFE00001E3C00F00003FFFFFFFE00000E4000F00001FFFFFFFF00000E
         4300E00003FFFE7FF600000E4600E00003FFFFDFF700000E4900E00003FFEE5F
         F700000E4C00E00003FDE61FE70000064F00E00007FB9BFFE70000065100E000
         03F6C3FFE70000065500E00007F67E3FE600000E5800E00003E27879FF000006
         5B00C00003FE3FF1FE0000065E00E00003FE3FE1FE0000066100E00003FC1FE1
         E600000E6400E00001FC1FC1E20000066700E00001FC0F80E600000E6900E000
         00F80F00E400000E6D00E00000F806006E00000E7000F000007806006C00000E
         7300F00000798E007800001E7600F000007FFE30F800001E7900F000007FFC78
         F800003E7C00F800007FFC7FF800007E7F00F800007FF8FBF800007E8200FC00
         007E0001F00000FE8500FC00007C0001F00000FE8800FE00003C0001F00001FE
         8B00FF00003C0001E00003FE8E00FF00003C0003E00007FE9100FF80003C0007
         E00007FE9300FFE0001F000FC0000FFE9700FFF0000FE0BFC0001FFE9A00FFF8
         0007FFFF80003FFE9D00FFFE0007FFFE0000FFFEA000FFFF0003FFF80001FFFE
         A300FFFFC00000000003FFFEA600FFFFF00000000007FFFEA900FFFFF8000000
         000FFFFEAC00FFFFFE000000003FFFFEAF00FFFFFF800000007FFFFEB200FFFF
         FFE0000000FFFFFEB500FFFFFFFC000007FFFFFEB800FFFFFFFFC0000FFFFFFE
         BB00FFFFFFFFFE00FFFFFFFEBE00FFFFFFFFFFFFFFFFFFFEC100}

       OnMouseMove = Image1MouseMove
     end
    end

  • {RASkov} © (19.04.08 18:52) [4]
    > OnMouseMove = Image1MouseMove

    procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    begin
     ReleaseCapture;
     Perform(WM_SYSCOMMAND, $F012, 0);
    end;
  • Damien (19.04.08 19:21) [5]
    RASkov, спасибо! Но вообще необязательно в АПИ. Я думал, по-другому нельзя.
 
Конференция "WinAPI" » Рисунок за границами окна [D7, WinXP]
Есть новые Нет новых   [134433   +22][b:0][p:0.003]