![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос о ShowModal
desc © (2009-04-02 10:41:00)Необходимо создать форму в режиме
ShowModal, но только чтобыfmMyForm.ShowModalвозвращал неModal result, а то что мне необходимо. Например если я делаю таким образом формуfmLogin, тоShowModalдолжен вернутьIDпользователя который авторизовался...
Как реализовать ? В каком направлении двигаться ?
Спасибо.
Игорь Шевченко (2009-04-02 14:19:00) [1]
> Еще один вопросик если можно... Не в тему правда, но все
> же...
нельзя
clickmaker (2009-04-02 14:08:00) [2]ControlAtPos, например
desc (2009-04-02 14:02:00) [3]
> clickmaker © (02.04.09 13:46) [14]
>
> > в чем собственно может быть ошибка ?
>
> в том, что не у всех есть hwnd
И как быть ? )
clickmaker (2009-04-02 13:46:00) [4]> в чем собственно может быть ошибка ?
в том, что не у всех есть hwnd
desc (2009-04-02 13:44:00) [5]
> 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;
что-то непойму, вроде отображаются имена контролов но не всех... в чем собственно может быть ошибка ?
D@nger (2009-04-02 13:20:00) [6]можно приравнять ID к свойству Tag формы и считывать ее
desc (2009-04-02 13:15:00) [7]
> clickmaker © (02.04.09 13:06) [10]
Ну если например у компонента поставить свойствоShowHint := False, то ведьOnHintне сработает. Я так понимаю или я ошибаюсь...?
clickmaker (2009-04-02 13:06:00) [8]Application.OnMessage - глобальней некуда
а чем, кстати, OnHint не устраивает? или OnShowHint
desc (2009-04-02 13:01:00) [9]Еще один вопросик если можно... Не в тему правда, но все же...
Существует ли глобальное событие уApplication, которое срабатывает каждый раз когда курсор мышки находится над новым объектом (компонентом) в котором можно было бы получить имя этого объекта (компонента) над которым находится курсор мыши...
Я имею введу что-то на подобииOnHintуApplicationEvents.
Спасибо.
Спасибо (2009-04-02 12:47:00) [10]
> clickmaker © (02.04.09 12:34) [7]
Какой однако хитрый выверт !
А я то по наивности всегда создавал отдельную функцию...
clickmaker (2009-04-02 12:34:00) [11]потому что метод класса, а не экземпляра.
экземпляр формы создается внутри и уничтожается после выполнения
desc (2009-04-02 12:31:00) [12]Почему
classfunction TMyForm.Execute: integer;?
clickmaker (2009-04-02 12:08:00) [13]> потом ID окажется строкой...
else
Result := '-1';
o)
Игорь Шевченко (2009-04-02 12:04:00) [14]clickmaker © (02.04.09 11:40) [3]
потом ID окажется строкой...
clickmaker (2009-04-02 11:40:00) [15]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 10:52:00) [16]
> Необходимо создать форму в режиме ShowModal
Модальный режим - это режим визуализацииуже созданной формы, а не режим создания этой формы. Единожды созданную форму можно визуализировать как модально, так и не модально.
> должен вернуть ID пользователя который авторизовался
Если ID - это Cardinal, то
ModalResult := ID;
Игорь Шевченко (2009-04-02 10:45:00) [17]в направлении свойств формы
public
property ID: TID read GetID;
end;
with TMyForm.Create(Application) do
try
if SHowModal = mrOk then
aID := ID;
else
Halt;
finally
Free;
end;