Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.196.171] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте.
Такая фишка : есть 2 edit'a - edit1 и edit2. Обработчик OnExit первого edit'a procedure TForm1.Edit1Exit(Sender: TObject); begin showmessage('xxxx'); end; при передачи фокуса из первого во второй edit получается эффект залипания левой клавиши мыши. Как это исправить? |
Сообщ.
#2
,
|
|
|
Два вопроса:
1. А как фокус передаеться? 2. Засвети исходник. |
Сообщ.
#3
,
|
|
|
1. Щелкаешь мышкой на первый Edit, потом на второй.
2. Весь исходник и состоит из обработчика OnExit, больше ни чего нет. |
Сообщ.
#4
,
|
|
|
Попробуй
ShowMessage('xxxxx'); SelectNext(Edit2,True,true); Я проверил все работает в применении к твоему примеру. |
Сообщ.
#5
,
|
|
|
Не понятно как ShowMessage() может привести к залипанию ЛКМ.
|
Сообщ.
#6
,
|
|
|
Я попробовал, причина не понятна, курсор над Edit2 в форме стрелки и при движении без нажатия на ЛКМ выделяет текст
|
Сообщ.
#7
,
|
|
|
2 Андрей: а как вызываешь событие OnExit? Наверняка щелчком по Edit2.
|
Сообщ.
#8
,
|
|
|
2 Serega_f1 : событие OnExit вызываю щелчком ЛКМ по Edit2
2 Pasha_64 : SelectNext(edit2,true,true) передает фокус следующему WinControl'y по Tab Order'y после Edit2. Мне нужно, чтобы фокус оставался на Edit2. |
Сообщ.
#9
,
|
|
|
Edit2.SetFocus ?
|
Сообщ.
#10
,
|
|
|
так чего тебе надо-то ???
Цитата курсор над Edit2 в форме стрелки и при движении без нажатия на ЛКМ выделяет текст как без нажатия, если ты щелкаешь по Edit2: Цитата событие OnExit вызываю щелчком ЛКМ по Edit2 ну переходи в Edit2 табом, что я могу предложить? |
Сообщ.
#11
,
|
|
|
2 Serega_f1 :
Поясняю - при передачи фокуса с Edit1 на Edit2 (щелчком мыши по Edit2) появляется сообщение. При закрытии сообщения и появляется этот долбанный эффект залипвшей ЛКМ. Про совет Tab'ом переходить, спасибо конечно, но я для юзеров пишу, а они знаешь любят мышкой пользоваться. 2 Song : SetFocus не помогает. |
Сообщ.
#12
,
|
|
|
Надо кода. Что-то ещё есть, что ты не показываешь.
|
Сообщ.
#13
,
|
|
|
2 Song:
Привожу код unit1.pas <br><br>unit Unit1;<br>interface<br>uses<br> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br> Dialogs, StdCtrls;<br>type<br> TForm1 = class(TForm)<br> Edit1: TEdit;<br> Edit2: TEdit;<br> procedure Edit1Exit(Sender: TObject);<br> private<br> { Private declarations }<br> public<br> { Public declarations }<br> end;<br>var<br> Form1: TForm1;<br>implementation<br>{$R *.dfm}<br>procedure TForm1.Edit1Exit(Sender: TObject);<br>begin<br> showmessage('xxxxx');<br>end;<br>end.<br><br> unit1.dfm <br><br>object Form1: TForm1<br> Left = 192<br> Top = 114<br> Width = 696<br> Height = 480<br> Caption = 'Form1'<br> Color = clBtnFace<br> Font.Charset = DEFAULT_CHARSET<br> Font.Color = clWindowText<br> Font.Height = -11<br> Font.Name = 'MS Sans Serif'<br> Font.Style = []<br> OldCreateOrder = False<br> PixelsPerInch = 96<br> TextHeight = 13<br> object Edit1: TEdit<br> Left = 176<br> Top = 64<br> Width = 121<br> Height = 21<br> TabOrder = 0<br> Text = 'Edit1'<br> OnExit = Edit1Exit<br> end<br> object Edit2: TEdit<br> Left = 176<br> Top = 104<br> Width = 121<br> Height = 21<br> TabOrder = 1<br> Text = 'Edit2'<br> end<br>end<br><br> |