Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
2-1209748683
Res
2008-05-02 21:18
2008.05.25
RegSetValueEx && REG_DWORD


15-1207728995
user
2008-04-09 12:16
2008.05.25
Проблема с Delphi. При запуске любого проекта дает ошибку.


2-1208953760
ZENsan
2008-04-23 16:29
2008.05.25
Как узнать имя компонента в момент его создания?


15-1207811360
Ega23
2008-04-10 11:09
2008.05.25
FastCGI и Delphi - возможно или нет?


2-1209299390
Азат
2008-04-27 16:29
2008.05.25
простая работа с графикой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский