Форум: "Начинающим";
Текущий архив: 2009.05.17;
Скачать: [xml.tar.bz2];
ВнизВопрос о 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c