Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать Combobox и DateTimePicker только readonly [D7]


Incognito ©   (2009-07-04 17:01:00) 

Как сделать Combobox и DateTimePicker только readonly?
Нарыл в нете вариант такого плана:
SendMessage(GetWindow(ComboBox1.Handle,GW_CHILD), EM_SETREADONLY, 1, 0);
Но при этом да с клавы букквы не вводяться но BackSpase работает. Как его сделать вооще readonly?
Варифант с csDropDownList непредлогать. Ибо неподходит.


KilkennyCat   (2009-07-04 20:50:00) [1]


> о вместо TLabel используй предварительно подготовленные
> TImage.

Это излишне. Лэйбла вполне позволяет раскрашивать себя как угодно. Хоть каждую букву отдельно.


Claus   (2009-07-04 18:14:00) [2]

>Incognito   (04.07.09 17:01)

Лучшее решение, на мой взгляд, предложено в Anatoly Podgoretsky ©   (04.07.09 17:20) [5] , ну, а если тебя в чем то не устраивают цветовые решения, то вместо TLabel используй предварительно подготовленные TImage.
Думаю, что ты, ну и заказчик (на которого ты слишком часто ссылаешься) оба будете удовлетворены
:)


DVM   (2009-07-04 17:55:00) [3]


> Incognito


> Хватит предлогать простые решения

Тогда переопределяй оконную процедуру контрола и реагируй по-своему на нужные сообщения. Достаточно не просто?


Incognito   (2009-07-04 17:52:00) [4]

Да при том что ничего не видно юзеру когда  Enabled := false а касаемо цветовой гаммы ПО это желание заказчика. Поэтому и приходится изголяться. и касаемо


> Контрол должен быть отмечен как недоступный иначе возможно
> непонимание со стороны пользователя.


Это тоже пожелание заказчика.


Claus   (2009-07-04 17:42:00) [5]


> Да еслиб было все так просто

А в чем, собственно, сложность?


Incognito   (2009-07-04 17:35:00) [6]

Да еслиб было все так просто, я бы не мучился. Enabled := false и все. Ну ведь можно как-то нормально сделать. Хватит предлогать простые решения


DVM   (2009-07-04 17:32:00) [7]


> Incognito  

Enabled := false и все.
Контрол должен быть отмечен как недоступный иначе возможно непонимание со стороны пользователя.


Incognito   (2009-07-04 17:27:00) [8]


> Anatoly Podgoretsky ©   (04.07.09 17:20) [5]


Если бы было все так просто. ТО да я бы и не мучился. И всеже как сделать
DateTimePicker только на чтение полностью?


Anatoly Podgoretsky   (2009-07-04 17:20:00) [9]

> Incognito  (04.07.2009 17:15:03)  [3]

Оба компонента с успехом заменяют TLabel без извращений.


Alexey   (2009-07-04 17:18:00) [10]

Дык, а почему не подходит? Если не секрет?


Incognito   (2009-07-04 17:15:00) [11]


> Alexey   (04.07.09 17:12) [2]


"Варифант с csDropDownList непредлогать. Ибо неподходит."

Не и всетаки как сделать? потому как если по ComboBox1KeyPress я клавиатуру отрезаю, но как еще и запретить выпадающее меню?


Incognito   (2009-07-04 17:12:00) [12]

Сам спросил, сам ответил. Решил сделать так :
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
Key:=chr(0);
end;


Alexey   (2009-07-04 17:12:00) [13]

style:=csDropDownList


Наверх

Титульная страница Поиск, карта сайта Написать письмо