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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2008, 15:31   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Вопрос Свои сообщений

Привет всем!
Вот у меня возникла такая идея. Нельзя ли свои типы сообщений, для общения модулей в моих программах.
Вот например:
Допустим показываються две вормы приложения: form1: tForm1 - главная и form2: tForm2 - не модальная.
Допустим пока юзер работает с form2, в form1 работает timer1: tTimer, который, допустим, увеличивает значение переменной num: integer на единицу, а заодно и проверят её значание. Если num > 20, то табота с form2 не имеет смысла. Если num > 20, то form1 посылает form2 месседж TM_TIMEOUT, form2 принемает этот месседж и совершает какие-то действия...

Короче, я тут расписался, ну надеюсь, всё понятно. Может пример и е очень удачный и в ДАННОЙ ситуации можно было-бы применить и другие способы.

з.ы. Неплохо было-бы ещё и переменные передовасть с сообщениями.
Обясните всё пожалуйсто по подробней и с примерами.
Altera вне форума Ответить с цитированием
Старый 06.06.2008, 16:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну посылай сообщения от WM_USER
типа
TM_TIMEOUT=WM_USER+34
+34 - это с потолка
ну и в проге так же опиши и определи для TM_TIMEOUT обработчик.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.06.2008, 16:06   #3
Fainder
Участник клуба
 
Регистрация: 15.02.2007
Сообщений: 1,112
По умолчанию

А зачем, если это формы одного приложения и ни одна не модальная, то просто вызывай нужные процедуры. К чему усложнять простое
Fainder вне форума Ответить с цитированием
Старый 06.06.2008, 16:14   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
К чему усложнять простое
Дабы научиться писать сложное. Аналогично поступал на стадии изученя сообщений
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.06.2008, 18:41   #5
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Stilet, а можешь описать всё по подробней?

Научите меня плиз, юзать wm_user. Я покопался в инете, не ничего толкового не нашёл.

Последний раз редактировалось Stilet; 09.06.2008 в 09:03.
Altera вне форума Ответить с цитированием
Старый 09.06.2008, 09:05   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну вот пример. По нажатию кнопки окну посылается мое сообщение с некоторыми параметрами. Окно его обрабатывает:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
const MyMessage=WM_User+45 ;
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
   Procedure WMUserq (Var AMsg:TMessage); Message MyMessage;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
 //********* PROCEDURE**********
 procedure TForm1.WMUserq;
 //const
 //Var
 begin
    caption:='msg='+inttostr(amsg.Msg)+
    //'hwnd='+inttostr(amsg.hwnd)+
    'w='+inttostr(amsg.WParam)+
    'l='+inttostr(amsg.lParam);

 end;
 //********* END PROCEDURE******* {}


procedure TForm1.Button1Click(Sender: TObject);
begin
PostMessage (Handle,MyMessage,11,22);
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Показываем свои рабочие места Hallo Свободное общение 323 13.04.2023 11:19
Перехват сообщений от Службы сообщений (Messenger) SJMS Win Api 6 17.07.2008 10:26
Продаете ли Вы свои игры? Paperdoll Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 11.03.2008 08:22
Как вписывать объекты в свои процедуры? schveine Помощь студентам 4 02.10.2007 13:46