Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2007, 05:37   #1
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию Перемещение рисунков внутри формы

Респект всем.Мне надо чтобы загруженный рисунок можно было перемещать,менять размер как у окон и вставлять в нужное место формы.И еще чтобы некоторая часть рисунка была прозрачной!Кто нить знает как мне помочь?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 31.10.2007, 06:45   #2
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Марсик, на какой книге остановили свой выбор?
Alex21 вне форума Ответить с цитированием
Старый 31.10.2007, 07:17   #3
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Автора я не помню,а книга наз-ся в стиле "помощь по delphi для нач.програм-ов" А ты шо посоветуешь и откуда?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 31.10.2007, 08:23   #4
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию Краткий ликбез

Ну поехали:
К качестве рисунка используй компонент Image.
Компонент имеет такие свойства (то, что тебе нужно):
Image1.Picture - путь к графическому файлу.
Image1.Left - положение по горизонтали (до левого верхнего угла)
Image1.Top - положение по вертикали.
Image1.Stretch - пропорциональность картинки (вкл/выкл = true/false)
Image1.Width - ширина картинки
Image1.Height - высота картинки
изменение последниех 2 свойств будут заметны, если Image1.Stretch:=true;

Image1.Transparent - прозрачность (true/false) - если включено то прозрачным становятся цвета, равные цвету левого верхнего пикселя картинки.
Для начала попробуй эксперименты с картинкой BMP с числом цветов 2-3 штуки - это поможет понять принципы работы этих свойств.

Ну и конечно же изменение этих свойств можно обрабатывать при нажатии на кнопку (Button).
Ясно?
Alex21 вне форума Ответить с цитированием
Старый 31.10.2007, 09:24   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Мне надо чтобы загруженный рисунок можно было перемещать,менять размер как у окон и вставлять в нужное место формы
Я когда-то для контрольной выкрутился так: Сделал две формы, одну главную другую дочернюю. На дочернюю наложил фотку и (уже точно не помнь как) убрал заголовок, чтоб это не выглядело как форма.

Потом само собой Этот "рисунок" у меня и двигался и растягивался.

Вот Если кто заинтересится код дочерней формы с рисунком :

Код:
unit Unit2;

interface

uses       jpeg,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm2 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure CreateParams(var Params: TCreateParams); override;
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
    j:TBitmap;
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.CreateParams(var Params: TCreateParams);
begin

 inherited CreateParams(Params);
  Params.Style := Params.Style and (not WS_CAPTION);
end;

procedure TForm2.FormCreate(Sender: TObject);
begin

  j:=TBitmap.Create;
  j.LoadFromFile('c:\acd185.bmp');

end;

procedure TForm2.FormPaint(Sender: TObject);
begin
    Canvas.FillRect(ClientRect);
 Canvas.StretchDraw(ClientRect,j);
end;

procedure TForm2.FormResize(Sender: TObject);
begin
Canvas.FillRect(ClientRect);
 Canvas.StretchDraw(ClientRect,j);
end;

procedure TForm2.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const
  Sc_dragmove = $F012;
begin
  ReleaseCapture;
  Perform(WM_SYSCOMMAND, Sc_dragmove, 0);
end;

end.
Там может пара багов, но все путем в общем...
I'm learning to live...

Последний раз редактировалось Stilet; 31.10.2007 в 09:37.
Stilet вне форума Ответить с цитированием
Старый 31.10.2007, 17:23   #6
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Алекс,Стилет(надеюсь правильно?!)спасибо,прозрачным я научился делать!Но как же сделать так чтобы этот рисунок пользователь мог спокойно перемещать по форме и изменять размер?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 31.10.2007, 22:25   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Посмотри в теме "Курсовая - пасьянс" я там давал пример таскания карты, таскать таким способом можно что угодно, еще поищи тему "Рисование в WinAPI" там был вопрос как эллипс таскать по форме. Обе темы тут в студентах, поиск надеюсь рулит?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 01.11.2007, 00:57   #8
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Искал,искал...так и не нашел :-( А на какой странице они расположены не подскажешь?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 01.11.2007, 02:02   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Marsik Посмотреть сообщение
Искал,искал...так и не нашел :-( А на какой странице они расположены не подскажешь?
На самом верху есть пункт меню "ПОИСК". Там вводим слово "пасьянс" и все...
mihali4 вне форума Ответить с цитированием
Старый 01.11.2007, 08:22   #10
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Михалыч нашел,спасибо!Как я понял нужно использовать draganddrop,но вот вопрос-как использовать?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перемещение формы Черничный Общие вопросы Delphi 11 10.12.2009 11:06
Загрузка/сохранение рисунков Marsik Помощь студентам 20 20.11.2008 18:09
Отображение рисунков Witaliy Компоненты Delphi 0 26.05.2008 17:33
Перемещение формы за компонент Zeraim Общие вопросы Delphi 2 20.05.2008 09:26
Delphi, перемещение формы. north Помощь студентам 3 23.01.2008 22:34