Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.14;
Скачать: CL | DM;

Вниз

замена символа в tedit   Найти похожие ветки 

 
denis24   (2003-04-03 14:10) [0]

как сделать правильно сабж?
Я делаю так
в onkeydown
if key="o" then
SendMessage(txtFio.Handle , WM_CHAR, Ord("A"), 0);

но в контроле печатается и первый и второй символ (о,А).


 
Skier ©   (2003-04-03 14:12) [1]

IMHO,надо написать обработчик на WM_CHAR


 
Zz_   (2003-04-03 14:13) [2]

if key="o" then key := "~";


 
denis24   (2003-04-03 14:31) [3]

key это просто переменная
по поводу wm_char, что за обработчик?


 
MBo ©   (2003-04-03 14:34) [4]

OnKeyPress

if key="o" then key:="A"


 
Smashich ©   (2003-04-03 14:34) [5]

это обработчик сообщения от винды WM_CHAR
Message methods + F1


 
Skier ©   (2003-04-03 14:36) [6]

>denis24

> по поводу wm_char, что за обработчик?

Это виндусовое сообщение.
Но замену символа можно сделать и в onkeydown, параметр Key
там можно изменять ( var Key :...)


 
Smashich ©   (2003-04-03 14:36) [7]

denis24 (03.04.03 14:31)
а чем тя key не устраивает?


 
Palladin ©   (2003-04-03 14:39) [8]


> key это просто переменная

а onkeydown просто процедура...

видишь как все просто?


 
denis24   (2003-04-03 14:52) [9]

ты сам то пробовал через key?
повторяю key-это переменная,менняя ее не измениш кода клавиши
нужно через апи
вопрос открыт


 
Skier ©   (2003-04-03 14:54) [10]


> нужно через апи

Тогда через WM_CHAR, вестимо...


 
Palladin ©   (2003-04-03 15:00) [11]


> denis24 (03.04.03 14:52)

иди книжку почитай по паскалю


 
pasha676   (2003-04-03 15:57) [12]

А чем не устраивает в edit1.text заменять последнюю букву (если она "о") на А. Зачем сразу лезть в месаги слать.


 
Palladin ©   (2003-04-03 16:30) [13]


> pasha676 (03.04.03 15:57)

а если буква была набрана посередине слова?


> denis24 (03.04.03 14:52)

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key="a" then key:="o";
end;

и почитай про передачу переменных в качестве параметров функций и процедур, это ведь основы...


 
denis24   (2003-04-03 17:07) [14]

Получилось.Вместо keypress использовал keydown и отсюда путаница.
Всем спасибо.


 
pasha676   (2003-04-03 17:16) [15]


> а если буква была набрана посередине слова?


Pos, хотя придеться наверное Change использовать, а не даун или пресс. Не оптимально, согласен. Просто первое что взбрело мне в голову. Ваш пример оптимальнее, я собственно и хотел сказать, что не обязательно для этих целей ударяться в мессаги, все делается проще.



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

Текущий архив: 2003.04.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
6-44306
ev
2003-02-20 16:26
2003.04.14
snmp


4-44526
}{enon
2003-02-10 19:13
2003.04.14
Как получить значение?


3-44076
Jaxtor
2003-03-26 17:28
2003.04.14
sqlcode -803


7-44464
galak
2003-02-18 03:00
2003.04.14
ещё одна клавиатура


1-44111
Danik
2003-04-02 16:31
2003.04.14
программа не знает что такое TSHFileOpStruct