Batman
جمعه 02 اسفند 1387, 04:22 صبح
با سلام اسم بهتری به ذهنم نرسید چون خود عنوان کاملا گویا هستش
لطفا unit زیر رو یه نگاهی بندازید و بگید که چرا خطای av رو میده.
unit Unit_FarsiFixer;
interface
uses
Forms,
Controls,
SysUtils,
Dialogs,
Classes;
type
TFarsiKeyboardHook = class(TComponent)
private
parentKeyPress: TKeyPressEvent;
procedure myKeyPress(Sender: TObject; var Key: Char);
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
Destructor Destroy;override;
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('My KeyBoard Hook', [TFarsiKeyboardHook]);
end;
{ TFarsiKeyboardHook }
constructor TFarsiKeyboardHook.Create(AOwner: TComponent);
begin
inherited;
if AOwner is TForm then
begin
parentKeyPress := TForm(Owner).OnKeyPress;
TForm(Owner).OnKeyPress := myKeyPress;
TForm(Owner).KeyPreview := true;
end;
end;
procedure TFarsiKeyboardHook.myKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #223 Then
Key := #152;
if Assigned(parentKeyPress) then
parentKeyPress(Sender, Key);
end;
Destructor TFarsiKeyboardHook.Destroy;
begin
if (Not(csDesigning in Self.ComponentState)) then
TForm(Owner).OnKeyPress:=parentKeyPress;
inherited;
end;
end.
ممنونم.
لطفا unit زیر رو یه نگاهی بندازید و بگید که چرا خطای av رو میده.
unit Unit_FarsiFixer;
interface
uses
Forms,
Controls,
SysUtils,
Dialogs,
Classes;
type
TFarsiKeyboardHook = class(TComponent)
private
parentKeyPress: TKeyPressEvent;
procedure myKeyPress(Sender: TObject; var Key: Char);
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
Destructor Destroy;override;
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('My KeyBoard Hook', [TFarsiKeyboardHook]);
end;
{ TFarsiKeyboardHook }
constructor TFarsiKeyboardHook.Create(AOwner: TComponent);
begin
inherited;
if AOwner is TForm then
begin
parentKeyPress := TForm(Owner).OnKeyPress;
TForm(Owner).OnKeyPress := myKeyPress;
TForm(Owner).KeyPreview := true;
end;
end;
procedure TFarsiKeyboardHook.myKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #223 Then
Key := #152;
if Assigned(parentKeyPress) then
parentKeyPress(Sender, Key);
end;
Destructor TFarsiKeyboardHook.Destroy;
begin
if (Not(csDesigning in Self.ComponentState)) then
TForm(Owner).OnKeyPress:=parentKeyPress;
inherited;
end;
end.
ممنونم.