Вниз
Скачать: CL | DM;

Control.Enable := False Но, чтоб визуально не изменился.   Найти похожие ветки 

← →
12 ©   (2011-01-13 09:15) [0]

Извините за тупой/странный вопрос.
Есть задача, все TEdit, TComboBox и т.п. делать недоступными, но: Чтоб цвет не менялся.
"..получено много нареканий на это. Очень неудобно читать.."
Как бы так сделать быстро и для всех контрлов?
с наскока не получилось докопаться

Быстро могу предложить
Control.Enable <=> Enable(Control)
а там что-то типа
procedure TForm1.Enable
Control.OnEnter := некий другой контрол . SetFocus;

т.е. просто не даем ему фокус и все


← →
sniknik ©   (2011-01-13 09:22) [1]

положи все на форму и дизейбли ее.


← →
Ega23 ©   (2011-01-13 09:24) [2]

ReadOnly := True; ?


← →
12 ©   (2011-01-13 09:35) [3]


> ReadOnly := True; ?

не у всех есть


> положи все на форму и дизейбли ее.

они вперемешку, выборочно надо, от прав зависит


← →
Palladin ©   (2011-01-13 09:42) [4]

убирай обработчик


← →
12 ©   (2011-01-13 10:16) [5]


> убирай обработчик

запомнить, убрать, на закрытие вернуть?

в принципе, тоже самое
Control.Enable <=> Enable(Control)
потом если есть onEnter присвоить убрать фокус
иначе если есть onMouseDown (У меня там еще TLabel, с эффектом, как гиперссылка) присвоить убрать фокус

блин, нифига не вспомню потом зачем все это :)


← →
QAZ   (2011-01-13 10:32) [6]

Удалено модератором


← →
12 ©   (2011-01-13 10:42) [7]


> потом получиш много нареканий что ".. нажимаеш,а ничего
> не происходит..."

кстати, да..

но тогда просто переделать

procedure TForm1.Enable как
begin end;и все :)


← →
han_malign   (2011-01-13 10:53) [8]

WM_UPDATEUISTATE
...
UISF_ACTIVE
   Windows XP: A control should be drawn in the style used for active controls.


← →
12 ©   (2011-01-13 11:05) [9]


> WM_UPDATEUISTATE
> ...
> UISF_ACTIVE

http://msdn.microsoft.com/en-us/library/ms646361%28v=vs.85%29.aspx
все варианты попробовал
// edt1.Enabled := False;// так тоже, предварительно
SendMessage(edt1.Handle, WM_UPDATEUISTATE, XXXX, 0);
не получается


← →
DiamondShark ©   (2011-01-13 11:44) [10]


> Есть задача, все TEdit, TComboBox и т.п. делать недоступными,
>  но: Чтоб цвет не менялся.

Плохая идея.
1. Визуальный фидбэк о возможностях контролов должен быть.
2. Даже нередактируемые контролы должны быть доступны, если они содержат интересную информацию, которую можно использовать. Например, нередактируемый текстбох должен допускать возможность ткнуть в него, выделить текст и скопировать в клипборд
3. Для нередактируемых полей нет смысла использовать сложные контролы. Все нередактируемые поля можно (нужно) заменить на простой текст (с учётом п.2).


← →
QAZ   (2011-01-13 14:20) [11]

Удалено модератором


← →
_Юрий   (2011-01-13 20:15) [12]

Положить на панель, панели сделать Enable := False

ну и конечно [10]


← →
Игорь Шевченко ©   (2011-01-13 21:23) [13]


> Положить на панель, панели сделать Enable := False


Ты сам попробуй с таким извратом поработать, причем долго и насильственно.


← →
Дмитрий Белькевич   (2011-01-14 10:28) [14]


> Ты сам попробуй с таким извратом поработать, причем долго
> и насильственно.


Сама постановка задачи - изврат. А решение - [12] - то, что автору нужно. Я бы добавил хинты к кнопкам, что бы не читать на кнопках, а надписи на кнопках заменил на пиктограммы.


← →
Дмитрий Белькевич   (2011-01-14 10:29) [15]


> Есть задача, все TEdit, TComboBox


Сорри, не о том речь :)


← →
DiamondShark ©   (2011-01-14 11:25) [16]


> Я бы добавил хинты к кнопкам, что бы не читать на кнопках,
>  а надписи на кнопках заменил на пиктограммы.

Повбывал бы.



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.007 c
2-1294653381
softi
2011-01-10 12:56
2011.04.10
сохранение JPEG из буфера обмена


2-1294996934
12
2011-01-14 12:22
2011.04.10
Error creating variant or safe array. Из-за чего?


15-1293027819
картман
2010-12-22 17:23
2011.04.10
1С


15-1291411633
Nic
2010-12-04 00:27
2011.04.10
Недорогой телефон с сенсорным экраном


2-1294537784
P
2011-01-09 04:49
2011.04.10
Темы Windows




   Наверх