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

Вниз

Edit - выделение   Найти похожие ветки 

 
Earth   (2005-06-13 19:46) [0]

Как запретить выделение текста в Edit?


 
Anatoly Podgoretsky ©   (2005-06-13 19:50) [1]

Оно мешает, мне нет и даже помогает подумать


 
Earth   (2005-06-13 20:07) [2]

У меня программа, для защиты компа, и нужен код для запрета выделение!


 
Ученик   (2005-06-13 20:10) [3]

>Earth   (13.06.05 20:07) [2]
Этот текст не надо будет переслать Вам, например, по электронной почте ?


 
-=XP=- ©   (2005-06-13 20:27) [4]

У меня программа, для защиты компа, и нужен код для запрета выделение!

Защиты от пользователя? :)))

Используйте TLabel.


 
NightStranger ©   (2005-06-13 22:21) [5]

Memo c ReadOnly=true;
Edit c Enabled=false;
Да и действительно... Лейбл
;)


 
Просто Джо ©   (2005-06-13 22:22) [6]

Раз уж тут варианты сыплются как из ведра, кину и я свой: Canvas.TextOut в TImage :^)


 
Earth   (2005-06-14 11:30) [7]

Ситуация такая: Пользователь вводит пароль, который регистрируется в окне статистики, а если пользователь выделяет пароль а затем печатает новый, то в окне статистики ничего о выделении не отображается, пояэтому я считаю, что выделение нужно запретить! А вот как это сделать, не знаю...
Если кто знает помогите


 
-=XP=- ©   (2005-06-14 11:52) [8]

Вы это о чем?


 
ЮЮ ©   (2005-06-14 11:57) [9]

>Пользователь вводит пароль, который регистрируется в окне статистики

После каждого нажатия клавиши?
Тогда уж регистрирацию в окне статистики делай в обработчике OnChange, т.е. при каждом изменении содержимого Edit-a :)


 
Earth   (2005-06-14 16:09) [10]

OnChange - нельзя т.к. записывается имя нажатого симфола!
Кто ни будь знает как программно решить мою задачу?


 
-=XP=- ©   (2005-06-14 16:13) [11]

OnChange - нельзя т.к. записывается имя нажатого симфола!

Как насчет Ctrl+V, Shift+Ins?


 
Earth   (2005-06-14 20:03) [12]

Это всё не то, да и не по теме!


 
-=XP=- ©   (2005-06-14 20:14) [13]

Вот же неугомонный изобретатель велосипеда!

По таймеру, или в оконной процедуре (тут придется повозиться):

if (<Edit.>SelLength > 0) then <Edit.>SelLength := 0;


 
Earth   (2005-06-14 22:13) [14]

Хорошо, но я это обошёл, если выделять чень быстро, то таймер не помогает!


 
-=XP=- ©   (2005-06-14 22:19) [15]

unit uUnselEdit;

interface

uses
 Windows, Messages, StdCtrls, Classes, Controls;

type
 TNonSelEdit = class(TEdit)
 private
   OldWndProc: TWndMethod;
   procedure AddWndProc(var Message: TMessage);
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Standard", [TNonSelEdit]);
end;

{ TNonSelEdit }

procedure TNonSelEdit.AddWndProc(var Message: TMessage);
var
SS, SE: integer;
begin
 if (Message.Msg <> EM_SETSEL) and (Message.Msg <> EM_GETSEL) and (SelLength > 0) then
   SelLength := 0;
 OldWndProc(Message);
end;

constructor TNonSelEdit.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 OldWndProc := WindowProc;
 WindowProc := AddWndProc;
end;

destructor TNonSelEdit.Destroy;
begin
 WindowProc := OldWndProc; //Х.З.
 inherited;
end;

end.


P.S. Когда Вас будут бить пользователи - не кричите "Помогите!". А то прибегу - и помогу. Пользователям.


 
Юрий Зотов ©   (2005-06-15 09:27) [16]

> -=XP=- ©   (14.06.05 22:19) [15]

А почему просто не перекрыть WndProc?


 
-=XP=- ©   (2005-06-15 09:53) [17]

А почему просто не перекрыть WndProc?

Как один из вариантов.
Причем, первый из вариантов.

P.S. С рабочего места, да в такое время...



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

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

Наверх




Память: 0.48 MB
Время: 0.044 c
3-1117625167
Aljona
2005-06-01 15:26
2005.07.11
TTable


9-1112012773
qwe
2005-03-28 16:26
2005.07.11
GlScene - target object


3-1117530841
ryds
2005-05-31 13:14
2005.07.11
как программно запустить диалоговое окно IBDatabase Editor?


1-1118261613
SniZ
2005-06-09 00:13
2005.07.11
Сжатие строки


4-1115847544
NikNet
2005-05-12 01:39
2005.07.11
Как записать в реестр запрещенным администраторам?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский