Главная страница
    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.031 c
4-1115816056
Sectey
2005-05-11 16:54
2005.07.11
Как получить описание имени компьютера?


11-1102062843
TraideR
2004-12-03 11:34
2005.07.11
XP Manifest


6-1112672184
Zyb
2005-04-05 07:36
2005.07.11
Вопрос по сокетам


14-1118480066
Cheater
2005-06-11 12:54
2005.07.11
Программирование в Excele. Как скрыть строки?


1-1119595488
sb
2005-06-24 10:44
2005.07.11
Как запряч GPU параллельно с CPU в расчетной задаче





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский