Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 3 из 4«1234»
Модератор форума: stalker, Ekz 
Форум » Все о Delphi » Начинающим » Пишем FAQ (FAQ по Delphi)
Пишем FAQ
AdminДата: Четверг, 25.09.2008, 16:06 | Сообщение # 31
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Я стараюсь чтобы вы сами что-нибудь делали! Я подсказал метод решения этой задачи. Ну раз не получается то помогу немного.
Самый примитивный способ (все с него начинают) это грузить нужный файл в Image в нужный момент с винта. Это конечно плохой способ но всеже он существует. Ведь при каждом нажатии на кнопку будет использоваться диск.

Итак, как же загрузить программно в Image? Если мы загружаем через инспектор объектов картинку, во время разработки приложения, то мы используем свойство Picture. Вот с него и нужно начать поиски. Написав "image1.picture." появляется список всего что можно написать дальше. внимательно смотрим и видем процедуру LoadFromFile. Это английский. Из названия видно что это то что нужно. С ее помощю можно загрузить файл. Например можете попробовать написать Image1.Picture.LoadFromFile('путь к картинке'); по нажатию на кнопку. (путь должен быть с расширением файла).

Ну, а эффект нажатия делаем так:

Code
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
begin
   Image1.Picture.LoadFromFile('путь к картинке с нажатой кнопкой');
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
begin
   Image1.Picture.LoadFromFile('путь к картинке с отпущенной кнопкой');
end;

Еще раз отмечу, что это самый примитивный способ.


Не оказываю помощь через личные сообщения и ICQ
 
ImprovsДата: Четверг, 25.09.2008, 17:01 | Сообщение # 32
Ранг 1
Группа: Проверенные
Сообщений: 17
Награды: 0
Репутация: 3
Статус: Offline
Работает спасибо smile Картинка меняется при нажатии как надо. А можно ли вместо картинки выложить анимацию ? допустим .png формат ?
 
AdminДата: Четверг, 25.09.2008, 17:22 | Сообщение # 33
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
PNG - не анимация. на сколько я знаю. может GIF ??? GIF загрузить можно но сложно! Для начинающего еще думаю очень рано!

Не оказываю помощь через личные сообщения и ICQ
 
ImprovsДата: Четверг, 25.09.2008, 17:40 | Сообщение # 34
Ранг 1
Группа: Проверенные
Сообщений: 17
Награды: 0
Репутация: 3
Статус: Offline
Quote (codelab)
GIF загрузить можно но сложно

Было бы здорово знать как ...
Еще интересно стало , как Форму изменить ?
 
AdminДата: Четверг, 25.09.2008, 18:07 | Сообщение # 35
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
форму? всмысле? я же уже вроде отвечал!

Не оказываю помощь через личные сообщения и ICQ
 
ImprovsДата: Четверг, 25.09.2008, 18:31 | Сообщение # 36
Ранг 1
Группа: Проверенные
Сообщений: 17
Награды: 0
Репутация: 3
Статус: Offline
нет , не форму кнопок , а форму формы , чтоб на плеер похоже было biggrin ну как скин для winamp что то в этом роде

Сообщение отредактировал Improvs - Четверг, 25.09.2008, 18:32
 
AdminДата: Четверг, 25.09.2008, 18:37 | Сообщение # 37
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
я и говорю что уже вопрос такой задавали вы!
http://codelab.3dn.ru/forum/2-39-261-16-1221914442


Не оказываю помощь через личные сообщения и ICQ
 
ImprovsДата: Четверг, 25.09.2008, 19:23 | Сообщение # 38
Ранг 1
Группа: Проверенные
Сообщений: 17
Награды: 0
Репутация: 3
Статус: Offline
Не уследил tongue Как же мне теперь ее двигать , сворачивать и т.д ? кнопки делать придется и рисовать или есть проще способ ?
 
AdminДата: Четверг, 25.09.2008, 19:32 | Сообщение # 39
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Программно свернуть приложение - выкладываеш кнопку или другой объект и по клику по нему делаеш.
Перемещение окна мышью за поверхность формы - аналогично можно сделать и за Image.
Ну а закрыть форму вы должны знать как!


Не оказываю помощь через личные сообщения и ICQ
 
AdminДата: Четверг, 25.09.2008, 19:37 | Сообщение # 40
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
когда не знал проще способа перемещения формы за Image делал так:

Code
var
   x0,y0:integer;
   CL:Bool;
...
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
begin
   x0:=X;
   Y0:=Y;
   Cl:=True;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
   Y: Integer);
begin
   If CL=True then begin
      If x0<X then Form1.Left:=Form1.Left+(X-x0) else Form1.Left:=Form1.Left-(x0-X);
      If y0<Y then Form1.Top:=Form1.Top+(Y-y0) else Form1.Top:=Form1.Top-(y0-Y);
   end;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
begin
   Cl:=false;
end;

Первый раз когда с этим столкнулся сидел выдумывал! smile


Не оказываю помощь через личные сообщения и ICQ
 
ImprovsДата: Четверг, 25.09.2008, 19:53 | Сообщение # 41
Ранг 1
Группа: Проверенные
Сообщений: 17
Награды: 0
Репутация: 3
Статус: Offline
Спасибо smile

Quote (codelab)
когда не знал проще способа перемещения формы за Image делал так:
Жестко shock
 
borN_freeДата: Понедельник, 06.10.2008, 17:08 | Сообщение # 42
Ранг 2
Группа: Проверенные
Сообщений: 23
Награды: 0
Репутация: 0
Статус: Offline
Есть такой вопрос. Задали по оодному предмету написать игру математическую. Написал, сделал Меню, закладка Правила. как сделать так, что бы при нажатии на Правила, открывался файл *.txt ? Именно сразу открывался, а не вылезало окно "открыть где-то где-то.."

При компиляции, и дальнейшем использовании .exe файла, этот текстовый файл с правилами игры должен будет находится в папке с .exe-шником, или он "войдет" в него?


// хочу овладеть Delphi
 
AdminДата: Понедельник, 06.10.2008, 17:44 | Сообщение # 43
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Нет файл должен будет находиться с EXE. Как открыть любой файл читаем тут. Это просто. Еще немного введу коректировочку :). Если написать полный путь то это будет не совесем правильно, точнее если не искать путь к программе и т. д.
Есть 2 варианта написать просто сразу (например файл называется "123.txt") в качестве пути имя файла (при условии что файл лежит рядом с EXE, не в папке которая рядом с ней). Но это будет плохо работать (я столкнулся в "детстве" с такой проблемой) если использовать OpenDialog или что-либо подобное, т.к. файл уже ищется не от exe а от того места которое выбрано в диалоге. И в этом случае нужно находить путь к EXE и уже к нему прибавлять имя файла.

Совет: Чтобы не мучиться с фалами (юзер сможет его легко изменить) можно сделать еще одно окно программы и в нем вывести правила игры.

Удачи!


Не оказываю помощь через личные сообщения и ICQ
 
borN_freeДата: Вторник, 07.10.2008, 04:06 | Сообщение # 44
Ранг 2
Группа: Проверенные
Сообщений: 23
Награды: 0
Репутация: 0
Статус: Offline
Что то я туплю и не получается сделать, чтобы вылезло еще одно окно... и тут же вопрос: как сделать "закладки" в форме..?

// хочу овладеть Delphi
 
AdminДата: Четверг, 09.10.2008, 16:08 | Сообщение # 45
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Например второе окно называется Form2 вот и пишем, например по кнопке:
Code
Form2.ShowModal //появится модальное окно

либо
Code
Form2.Show //появится второе окно просто

Отличие модального от немодального: если показано модальное окно то к окну которое за ним нельзя будет получить доступ. Это по простому я объяснил. Попробуйте и то и другое и будет понятно в чем отличие.

Насчет закладок: Есть компонент TPageControl. Выкладываем на форму кликаем по нему правой кнопкой - New Page. Появится вкладка. И так далее.


Не оказываю помощь через личные сообщения и ICQ
 
Форум » Все о Delphi » Начинающим » Пишем FAQ (FAQ по Delphi)
Страница 3 из 4«1234»
Поиск:

Copyright DelphiDevelop.ru © 2008-2018
Хостинг от uCoz