Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.25;
Скачать: CL | DM;

Вниз

Рисунок на окне   Найти похожие ветки 

 
Damien   (2008-04-25 19:37) [0]

Здравствуйте, уважаемые мастера. Подскажите, как мне разместить рисунок за границами окна. То есть часть рисунка находится в окне, а часть - за его пределами.


 
{RASkov} ©   (2008-04-25 20:28) [1]

> [0] Damien   (25.04.08 19:37)
> как мне разместить рисунок за границами окна

Никак. Либо рисовать на рабочем столе, но это глупо.
Не так давно я уже отвечал на такой вопрос, только он был толи в ВинАпи, толи в Медиа....
Я там пример формы в тестовом виде приводил....
Поищи... Наверняка тебе нужно тоже самое.... вопрос ну прямо один в один :)


 
Damien   (2008-04-25 21:10) [2]


> вопрос ну прямо один в один :)

Это я и был. Чего-то с тем примером у меня не получилось, а вы, RASkov, указали, что необязательно АПИ, вот и подумал сюда черкнуть...


 
{RASkov} ©   (2008-04-25 21:44) [3]

> [2] Damien   (25.04.08 21:10)
> Это я и был.

Да, ну не узнал, сорри :)

> Чего-то с тем примером у меня не получилось,

Что не получилось-то?


 
Damien   (2008-04-25 21:52) [4]

Тот пример реализует перетаскивание окна за рисунок, а сам рисунок находится в пределах формы. Или я чего-то не понимаю в силу своей интеллектуальной ограниченности...


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

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $F012, 0);
end;


 
{RASkov} ©   (2008-04-25 23:02) [5]

> [4] Damien   (25.04.08 21:52)
> Тот пример реализует перетаскивание окна за рисунок, а сам
> рисунок находится в пределах формы.

В принципе, да. Только формы как таковой не видно, а только рисунок...
Так что же тебе нужно-то?


 
Damien   (2008-04-25 23:20) [6]

Странно, а у меня форма видна... Но, вообще, мне нужно чтобы часть рисунка была на окне, а часть за окном. Наверное, моя просьбя, в конечном итоге, сводится к окну нестандартной формы, и вот то место, где, например, выпуклость должен располагаться рисунок. Я мог бы использовать функцию апи по работе с регионами, но что делать, если рисунок сложной формы и создать регион по контуру рисунка невозможно?


 
{RASkov} ©   (2008-04-26 00:48) [7]

> [6] Damien   (25.04.08 23:20)
> но что делать, если рисунок сложной формы и создать регион
> по контуру рисунка невозможно?

Вот в [4] как раз это и делается...
Смотри:
Во первых: Какой бы не был сложности рисунок, он всегда будет охвачен неким прямоугольником, так? т.е. Форма.
Во вторых: Из того вопроса в апи я вроде как помню, что у тебя Д7, так? А в Д7 уже проделана эта рутинная работа с регионами и рисунками...
В третьих: Ну не просто тупо копируй что тебе предлогают, а эксперементируй с этим.... делай выводы...
Вот проект целиком:
http://webfile.ru/1903474 (160 kb)
Возможно у тебя включены темы... или еще чего... попробуй мой екзешник из архива, как он себя поведет...


 
Damien   (2008-04-26 17:44) [8]


>  в Д7 уже проделана эта рутинная работа с регионами и рисунками


Чего-то я не заметил этого в Д7... А вообще,RASkov, спасибо, буду эксперементировать. Просто думал, может, есть какая-то функция готовая для этого.



Страницы: 1 вся ветка

Текущий архив: 2008.05.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
15-1207909325
savyhinst
2008-04-11 14:22
2008.05.25
Wait.avi


8-1180420857
Demek
2007-05-29 10:40
2008.05.25
Экспорт картинки в 3ds


2-1208972960
Alexey
2008-04-23 21:49
2008.05.25
Собственное окно отчёта в Delphi


6-1186129295
ratmir
2007-08-03 12:21
2008.05.25
Как программно поменять IP


2-1209064894
Максим Е.
2008-04-24 23:21
2008.05.25
Можно ли получить такую информацию о файле...