![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
здравствуйте уважаемые мастера [D7, XP]
223001 © (2008-05-04 19:44:00)как изменить курсор на кнопке если она enabled:=false. кнопка отчистить я написал edit1.text:=''; button1.enabled:=false; button1.cursor:=crnotdrop; а в edit1keypres написал button1.cursor:=crhandpoint; button1.enabled:=true; но пока не действует курсор не меняется
No_Dead (2008-05-04 20:35:00) [1]> oldman © (04.05.08 20:29)
> Нес па?
«речи знакомые доболе» ©Догма
:)
oldman (2008-05-04 20:29:00) [2]
> 223001 (04.05.08 19:44)
> как изменить курсор на кнопке если она enabled:=false
Попробуем объяснить на пальцах:
Если она false, то все события для нее тоже false.
В том числе и изменение курсора мыши на ней.
Нес па?
Восхищенный (2008-05-04 20:16:00) [3]> 223001 (04.05.08 20:14) [7]
Странно, да? Оказывается, незадизабленные окна сообщение WM_SETCURSOR получают. И кто бы мог подумать?
Evil (2008-05-04 20:16:00) [4]
> No_Dead © (04.05.08 20:03) [3]
> > [1] Evil (04.05.08 19:55)разве меняет?:)
Упс... 0:-)
Восхищенный (2008-05-04 20:14:00) [5]> 223001 (04.05.08 20:06) [5]
И не изменится, даже если еще три дня убъешь.
Можно применить разные извращенные способы (типа прозрачного окна над кнопкой, или хука), но незачем.
223001 (2008-05-04 20:14:00) [6]но когда я в edit ввожу данные и он становится enabled:=true то курсор меняется
Восхищенный (2008-05-04 20:06:00) [7]Это не "он строчку не видит", это задизабленное окно кнопки сообщения WM_SETCURSOR не получает. Поэтому и курсор не меняется. Стандарт Windows, трогать его незачем.
223001 (2008-05-04 20:06:00) [8]не знаю я уже весь день на эту кнопку убил всё перепробовал а курсор не меняется :(
No_Dead (2008-05-04 20:03:00) [9]> [1] Evil (04.05.08 19:55)
разве меняет?:)
223001 (2008-05-04 20:02:00) [10]я пробовал но строчку button1.cursor:=crnotdrop; он как бы не видит
Evil (2008-05-04 19:55:00) [11]procedure TMainForm.Edit1Change(Sender: TObject);
begin
if Length(edit1.Text) > 0 then
begin
button1.Enabled := true;
button1.cursor:=crhandpoint;
end;
end;
procedure TMainForm.Button1Click(Sender: TObject);
begin
edit1.clear;
button1.enabled:=false;
button1.cursor:= crNoDrop;
end;