Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.17;
Скачать: CL | DM;

Вниз

Вопрос о ShowModal   Найти похожие ветки 

 
desc   (2009-04-02 10:41) [0]

Необходимо создать форму в режиме ShowModal, но только чтобы fmMyForm.ShowModal возвращал не Modal result, а то что мне необходимо. Например если я делаю таким образом форму fmLogin, то ShowModal должен вернуть ID пользователя который авторизовался...

Как реализовать ? В каком направлении двигаться ?

Спасибо.


 
Игорь Шевченко ©   (2009-04-02 10:45) [1]

в направлении свойств формы

public
 property ID: TID read GetID;
end;

with TMyForm.Create(Application) do
 try
   if SHowModal = mrOk then
     aID := ID;
  else
    Halt;
 finally
    Free;
 end;


 
Сергей М. ©   (2009-04-02 10:52) [2]


> Необходимо создать форму в режиме ShowModal


Модальный режим - это режим визуализации уже созданной формы, а не режим создания этой формы. Единожды созданную форму можно визуализировать как модально, так и не модально.


> должен вернуть ID пользователя который авторизовался


Если ID - это Cardinal, то

ModalResult := ID;


 
clickmaker ©   (2009-04-02 11:40) [3]

class function TMyForm.Execute: integer;
begin
 with TMyForm.Create(Application) do begin
   try
     if ShowModal = mrOk then
       Result := GetUserID
     else
       Result := -1;
   finally
     Free;
   end;
 end;
end;


 
Игорь Шевченко ©   (2009-04-02 12:04) [4]

clickmaker ©   (02.04.09 11:40) [3]

потом ID окажется строкой...


 
clickmaker ©   (2009-04-02 12:08) [5]

> потом ID окажется строкой...

else
 Result := "-1";
o)


 
desc   (2009-04-02 12:31) [6]

Почему class function TMyForm.Execute: integer; ?


 
clickmaker ©   (2009-04-02 12:34) [7]

потому что метод класса, а не экземпляра.
экземпляр формы создается внутри и уничтожается после выполнения


 
Спасибо   (2009-04-02 12:47) [8]


> clickmaker ©   (02.04.09 12:34) [7]

Какой однако хитрый выверт !
А я то по наивности всегда создавал отдельную функцию...


 
desc   (2009-04-02 13:01) [9]

Еще один вопросик если можно... Не в тему правда, но все же...

Существует ли глобальное событие у Application, которое срабатывает каждый раз когда курсор мышки находится над новым объектом (компонентом) в котором можно было бы получить имя этого объекта (компонента) над которым находится курсор мыши...

Я имею введу что-то на подобии OnHint у ApplicationEvents.

Спасибо.


 
clickmaker ©   (2009-04-02 13:06) [10]

Application.OnMessage - глобальней некуда
а чем, кстати, OnHint не устраивает? или OnShowHint


 
desc   (2009-04-02 13:15) [11]


> clickmaker ©   (02.04.09 13:06) [10]


Ну если например у компонента поставить свойство ShowHint := False, то ведь OnHint не сработает. Я так понимаю или я ошибаюсь...?


 
D@nger   (2009-04-02 13:20) [12]

можно приравнять ID к свойству Tag формы и считывать ее


 
desc   (2009-04-02 13:44) [13]


> clickmaker ©   (02.04.09 13:06) [10]

procedure TfmMyForm.aeMessage(var Msg: tagMSG; var Handled: Boolean);
begin
 if Msg.message = WM_MOUSEMOVE then
   sb.Panels.Items[1].Text := FindControl(Msg.hwnd).Name;
end;


что-то непойму, вроде отображаются имена контролов но не всех... в чем собственно может быть ошибка ?


 
clickmaker ©   (2009-04-02 13:46) [14]

> в чем собственно может быть ошибка ?

в том, что не у всех есть hwnd


 
desc   (2009-04-02 14:02) [15]


> clickmaker ©   (02.04.09 13:46) [14]
>
> > в чем собственно может быть ошибка ?
>
> в том, что не у всех есть hwnd

И как быть ? )


 
clickmaker ©   (2009-04-02 14:08) [16]

ControlAtPos, например


 
Игорь Шевченко ©   (2009-04-02 14:19) [17]


> Еще один вопросик если можно... Не в тему правда, но все
> же...


нельзя



Страницы: 1 вся ветка

Текущий архив: 2009.05.17;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.011 c
15-1236871256
It's not me
2009-03-12 18:20
2009.05.17
Делимость бита


4-1208885015
Dmitry
2008-04-22 21:23
2009.05.17
Прочитать UNICODE файл с китайским текстом


15-1237120041
Юрий Зотов
2009-03-15 15:27
2009.05.17
Почтовый клиент перестал работать на отправку...


15-1236072640
Дукам
2009-03-03 12:30
2009.05.17
Менеджер ресурсов в Дельфи 7


2-1238916126
feDOS
2009-04-05 11:22
2009.05.17
Как огранизовать цикл по выдененным записям (MultiSelect) DBGrid?