Вниз
Скачать: CL | DM;

Изменение количества выделенных символов в TEdit   Найти похожие ветки 

← →
starik30   (2003-07-22 12:17) [0]

Hi, All!

Как определить, что изменилось количество выделенных символом в TEdit (что-то WM_Paint у меня не получилось -(( ...) ? Возникает ли событие WM_PAINT при вводе символов ... ?

Заранее благодарен
Юра


← →
mrcat ©   (2003-07-22 12:21) [1]

OnChange ?


← →
starik30   (2003-07-22 12:25) [2]

OnChange - возникает, когда текст был изменен... А мне надо когда изменилось количество выделенных символов ...


← →
VAleksey ©   (2003-07-22 12:32) [3]

SelText ?


← →
mrcat ©   (2003-07-22 12:32) [4]

ну тогда WM_PAINT. Используйте процедуру окна WindowProc для Edit


← →
VAleksey ©   (2003-07-22 12:37) [5]

Specifies the selected portion of the edit control’s text.

property SelText: string;

Description

Read SelText to determine the value of the selected text. Set SelText to replace the selected text with a new string. If there is no selection, but the edit control has focus, set SelText to insert a new string into the text at the cursor.


← →
VAleksey ©   (2003-07-22 12:38) [6]

О оо Сорри, что - то я все в оффтопик луплю.
Извиняюсь.


← →
VAleksey ©   (2003-07-22 12:39) [7]

И все же если попробовать OnMouseMove + SelText в связке ?


← →
mrcat ©   (2003-07-22 12:46) [8]

вот незадача-то :)

unit uMain;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, ComCtrls;

const
WM_CHANGE = WM_USER + 101;

type
TfrmMain = class(TForm)
MyEdit: TEdit;
procedure FormCreate(Sender: TObject);
private
FOldEditWndProc: TWndMethod;
procedure BasicWndProc(var Message: TMessage);
procedure WMChange(var Message: TMessage); message WM_CHANGE;
end;

var
frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.BasicWndProc(var Message: TMessage);
begin
if Assigned(FOldEditWndProc) then FOldEditWndProc(Message);

if Message.Msg = WM_PAINT then
PostMessage(Handle, WM_CHANGE, 0, 0);
end;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
FOldEditWndProc := MyEdit.WindowProc;
MyEdit.WindowProc := BasicWndProc;
end;

procedure TfrmMain.WMChange(var Message: TMessage);
begin
Caption := "Делай что тебе нравится :)";
end;

end.



← →
starik30   (2003-07-22 12:49) [9]

Дело в том, что тогда надо обрабатывать и Shift + Arrow т.е. OnKeyPress и OnMouseMove - конечно можно попробовать, но может есть более прямой вариант определения Subj ?



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-10379
OHP
2003-07-17 01:04
2003.08.04
Расказик...


14-10399
Johnny Smith
2003-07-17 12:35
2003.08.04
Забавно:


6-10333
alt7
2003-05-29 15:15
2003.08.04
Глюкавый TIdTelnetServer


1-10298
alexdbases
2003-07-22 12:58
2003.08.04
Мигание в стандартном TTreeView


1-10260
cjiohobaji
2003-07-21 13:55
2003.08.04
QREp




   Наверх