|
Вопрос # 3 058/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
У меня полностью прозрачная форма.Можно ли сделать так что бы пользователь мог перетаскивать окно программы ,ну например за отображаемый элемент, цифры ,показывающие время и т д?И второй вопрос-можно ли сделать ,что бы пользователь мог менять цвет шрифта?
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
Приложение: Переключить в обычный режим- unit Clock1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs,DateUtils, ExtCtrls, Buttons, StdCtrls, ComCtrls,MPLayer;
-
- type
- TForm1 = class(TForm)
- Timer1: TTimer;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- Label5: TLabel;
- SpeedButton1: TSpeedButton;
- SpeedButton2: TSpeedButton;
- SpeedButton3: TSpeedButton;
- UpDown1: TUpDown;
- UpDown2: TUpDown;
- Label6: TLabel;
- Label7: TLabel;
- Label8: TLabel;
- MediaPlayer1: TMediaPlayer;
- ComboBox1: TComboBox;
- SpeedButton4: TSpeedButton;
- Label9: TLabel;
- procedure FormCreate(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
- procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
- procedure SpeedButton1Click(Sender: TObject);
- procedure SpeedButton2Click(Sender: TObject);
- procedure SpeedButton3Click(Sender: TObject);
- procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
- procedure SpeedButton4Click(Sender: TObject);
-
-
-
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
- uses Clock3;
-
- {$R *.dfm}
-
- var
- Hour,Min,Sec : word;
- Hour1,Min1 : word;
-
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- SpeedButton4.Hide;
- Label9.Hide;
- ComboBox1.Hide;
- Label6.Hide;
- Label7.Hide;
- Label8.Hide;
- UpDown1.Hide;
- UpDown2.Hide;
- SpeedButton3.Hide;
- Hour := HourOf(Now);
- Min := MinuteOf(Now);
- Sec := SecondOf(Now);
- Form1.Color := clWhite;
- Form1.TransparentColorValue := clWhite;
- Form1.TransparentColor := True;
- Form1.BorderStyle := bsNone;
-
- end;
-
- procedure TForm1.Timer1Timer(Sender: TObject);
- var
- Hour,Min,Sec : word;
- n : string;
- Label
- bub;
- begin
- Timer1.Interval := 500;
- Hour := HourOf(Now);
- Min := MinuteOf(Now);
- Sec := SecondOf(Now);
-
- if Label2.Visible
- then Label2.Visible := False
- else Label2.Visible := True;
- if Label4.Visible
- then Label4.Visible := False
- else Label4.Visible := True;
- if Hour < 10 then Label1.Caption := '0' + IntToStr(Hour)
- else Label1.Caption := IntToStr(Hour);
- if Min < 10 then Label3.Caption := '0' + IntToStr(Min)
- else Label3.Caption := IntToStr(Min);
- if Sec < 10 then Label5.Caption := '0' + IntToStr(Sec)
- else Label5.Caption := IntToStr(Sec);
- Hour1 := UpDown1.Position;
- Min1 := UpDown2.Position;
- if (Hour1 = HourOf(Now)) and (Min1 = MinuteOf(Now)) and (Sec < 1)
- then Form2.Show;
- if (Hour1 = HourOf(Now)) and (Min1 = MinuteOf(Now)) and (Sec < 1)
- then
- begin
- begin
- case ComboBox1.ItemIndex of
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- end;
- if Length(ComboBox1.Text) = 0
- then goto bub
- else
- MediaPlayer1.FileName := n;
- MediaPlayer1.Open;
- MediaPlayer1.Play;
- bub :
- end;
-
-
- if Sec = 25
- then Form2.Hide;
- if Sec = 25
- then
- begin
- MediaPlayer1.Close;
-
- end;
-
-
- end;
- end;
-
- procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
- begin
- if Updown1.Position < 10
- then Label6.Caption := '0' + IntToStr(UpDown1.Position)
- else Label6.Caption := IntToStr(UpDown1.Position);
-
- end;
-
- procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
- begin
- if Updown2.Position < 10
- then Label8.Caption := '0' + IntToStr(UpDown2.Position)
- else Label8.Caption := IntToStr(UpDown2.Position);
-
-
-
- end;
-
- procedure TForm1.SpeedButton2Click(Sender: TObject);
- begin
- SpeedButton4.Show;
- Label9.Show;
- Label6.Show;
- Label7.Show;
- Label8.Show;
- UpDown1.Show;
- UpDown2.Show;
- SpeedButton3.Show;
- ComboBox1.Show;
-
- end;
-
- procedure TForm1.SpeedButton3Click(Sender: TObject);
- begin
- SpeedButton4.Hide;
- Label9.Hide;
- Label6.Hide;
- Label7.Hide;
- Label8.Hide;
- UpDown1.Hide;
- UpDown2.Hide;
- SpeedButton3.Hide;
- SpeedButton3.Hide;
- ComboBox1.Hide;
- if Length(ComboBox1.Text) = 0
- then
-
-
- end;
-
- procedure TForm1.SpeedButton1Click(Sender: TObject);
- begin
- Form1.Close;
- end;
-
- procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
- begin
- Key := Chr(0);
- end;
-
-
- procedure TForm1.SpeedButton4Click(Sender: TObject);
- var
- m : string;
- Label
- bye;
- Label
- bob;
- begin
- begin
- case ComboBox1.ItemIndex of
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- end;
- if Length(ComboBox1.Text) = 0
- then goto bye
- else
- MediaPlayer1.FileName := m;
- MediaPlayer1.Open;
- MediaPlayer1.Play;
- goto bob;
-
- bye :
-
-
- bob :
- end;
- end;
- end.
|
Вопрос задал: igoriy (статус: Посетитель)
Вопрос отправлен: 2 августа 2009, 15:16
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Создай единый обработчик OnMouseDown() для всех тех контролов на форме, за которые ты хочешь таскать форму мышью.
procedure TMainForm.ControlMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft
then begin
ReleaseCapture();
Self.Perform(WM_SYSCOMMAND, $F012, 0);
end;
end;
Этот пример давно гуляет в интернете.
Если хочешь - посмотри мою программку (прицеляю к ответу).
Цитата:
можно ли сделать ,что бы пользователь мог менять цвет шрифта?
Можно. Разрешаю. Сделай. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
|
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 2 августа 2009, 15:30
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 20; последнее сообщение — 3 августа 2009, 08:14; участников в обсуждении: 2.
|
min@y™ (статус: Доктор наук), 2 августа 2009, 15:35 [#1]:
Внимательно обнюхай мою программу.
Меню вызывается правой кнопкой мыши.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
igoriy (статус: Посетитель), 2 августа 2009, 15:45 [#2]:
А енто я уже увидел - насчет как пользоваться-прикольно,а почему адская?Или я еще не все попробовал?
Кстати за "Можно. Разрешаю. Сделай." спасибо ,но мне бы в кодах как нибудь этот момент ,а то я еще в програмировании зеленый
|
|
min@y™ (статус: Доктор наук), 2 августа 2009, 15:54 [#3]:
Ну создай форму, там кнопку с выбором цвета и всё. Хранить настройки можно в INI-файле, в реестре или как у меня - в XML.
Я ж тебе пример скинул, посмотри, как у меня там это дело организованио.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
igoriy (статус: Посетитель), 2 августа 2009, 15:58 [#4]:
min@y™ спасибо ща маленько разбираться буду,а вот в первой части когда единый обработчик делать буду в uses кроме стандартного дополнительно ни чего не надо включать ?
|
|
min@y™ (статус: Доктор наук), 2 августа 2009, 16:03 [#5]:
Цитата:
в uses кроме стандартного дополнительно ни чего не надо включать ?
Это смотря что у тебя там уже есть.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
igoriy (статус: Посетитель), 2 августа 2009, 16:04 [#6]:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DateUtils, ExtCtrls, Buttons, StdCtrls, ComCtrls,MPLayer;
|
|
min@y™ (статус: Доктор наук), 2 августа 2009, 16:09 [#7]:
Да не надо ничего. Ты попробуй, компилятор тебе сам скажет, если какой ахтунг.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
igoriy (статус: Посетитель), 2 августа 2009, 16:14 [#8]:
Ну лады-спасибо выручил в очередной раз!!!Будем тренероваться дальше в познании программирования.
|
|
min@y™ (статус: Доктор наук), 2 августа 2009, 16:34 [#9]:
"Спасибо" - это много. Достаточно пива.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
igoriy (статус: Посетитель), 2 августа 2009, 16:36 [#10]:
Да легко был бы ты рядом
|
|
min@y™ (статус: Доктор наук), 2 августа 2009, 17:35 [#11]:
Цитата:
Да легко был бы ты рядом
В наше время информационных технологий пиво очень запросто передаётся по интернету. Например, через WebMoney.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
igoriy (статус: Посетитель), 2 августа 2009, 17:46 [#12]:
Так это понятно(хотя не знаю твоего кошеля)Дело в том ,что для хорошего человека действительно не жалко но сейчас у меня 82 цента и это будет не по человечачи посылать эти копейки(могу прямо сейчас)а до ближайшего банкомата киллометра 2,5 пешочком т к не фига не Москва ,а вот ежли через недельку то ей богу не забуду только вот кошель напиши.
|
|
min@y™ (статус: Доктор наук), 2 августа 2009, 18:04 [#13]:
Да не надо. Я, хоть и не в москве, но живу нормально. Пошутил я. На пиво хватает. Кстати, я только вернулся из магазина. С пивом.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 2 августа 2009, 18:06 [#14]:
Кстати, в программе, которая прицеплена к ответу, я нашёл 2 бага. Я их исправил и могу выложить свежую версию.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
igoriy (статус: Посетитель), 2 августа 2009, 18:08 [#15]:
Да я ведь правда от души.Сам второй год как бросил а вот скучаю и приятно когда другие пивко потягивают-попил я его родимого ведь почти 10 лет по общагам
|
|
igoriy (статус: Посетитель), 2 августа 2009, 18:24 [#16]:
Давай-интересная програмка
|
|
min@y™ (статус: Доктор наук), 2 августа 2009, 18:31 [#17]:
Ссылка.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 2 августа 2009, 18:34 [#18]:
Не, это старая версия.
Залезай ко мне в аську, поговорим.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
igoriy (статус: Посетитель), 2 августа 2009, 19:07 [#19]:
А у тебя чего-аська то выключена?
|
|
min@y™ (статус: Доктор наук), 3 августа 2009, 08:14 [#20]:
Теперь включена.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|