我的系统:Windows Server 2003 English / Delphi6/7
当我在Control Panel -->
Regional and Language Options -->
Regional Options -->
Standards and formats -->
Select an item to match its prefences, or click Customize to choose your own formats:
的下拉框中选择English (United States)时,在Delphi的文本编辑器中无法输入中文(我用紫光拼音输入法),而在属性编辑器中是可以输入中文的。
问题:怎么在不修改这个English(United States)选项的情况下,在Delphi的文本编辑器中正常输入中文呢?
当我在Control Panel -->
Regional and Language Options -->
Regional Options -->
Standards and formats -->
Select an item to match its prefences, or click Customize to choose your own formats:
的下拉框中选择English (United States)时,在Delphi的文本编辑器中无法输入中文(我用紫光拼音输入法),而在属性编辑器中是可以输入中文的。
问题:怎么在不修改这个English(United States)选项的情况下,在Delphi的文本编辑器中正常输入中文呢?
解决方案 »
- 关于IdTcpServer的AContext.Data问题
- 返回信号
- 没有安装SQL SERVER如何使用SQLDMO?
- 什么控件打开文件(WORD,EXCEL等),可以浏览但是不能编辑和另存拷贝等等
- 谁有工资管理系统下?重分求
- 怎么得到SendText的原文?不指望有人会~
- COM讨论!谢谢了!
- win2000p的补丁,是直接下载好呢,还是用微软给的那个程序下载,偶担心用微软的下载后,如果再重装会找不到sp,怎么版?/牛虻
- 如何实现DELPHI下的串口通讯?
- 我的delphi程序运行关闭后,要等好几秒,状态栏上的显示才真正关闭,为什么?还有时候显示一个空白的状态按钮!
- 批量数据更新问题
- 多线程问题!!帮帮忙!!
是不是感觉DBGrid中鼠标滚轮不爽?允许多选的时候Shift键无效?
下面简单的代码提供了这些功能(欢迎指教,谢谢):
unit MyDBGrid;interfaceuses
Windows, Messages, SysUtils, Classes, Controls, Grids, DBGrids, DB;type
TMyDBGrid = class(TDBGrid)
private
FFirstBookMark: TBook;
FFirstRowNo: Integer;
procedure CMMouseWheel(var Message: TCMMouseWheel); message CM_MOUSEWHEEL;
protected
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
public
procedure SelectAll;
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('postren', [TMyDBGrid]);
end;{ TMyDBGrid }procedure TMyDBGrid.CMMouseWheel(var Message: TCMMouseWheel);
begin
if Message.WheelDelta < 0 then
SendMessage(Self.Handle, WM_VSCROLL, MakeLong(SB_LINEDOWN, 0), 0)
else
SendMessage(Self.Handle, WM_VSCROLL, MakeLong(SB_LINEUP, 0), 0);
end;procedure TMyDBGrid.KeyDown(var Key: Word; Shift: TShiftState);
begin
inherited;
if (Key in [Ord('a'), Ord('A')]) and ([ssCtrl] = Shift) then
SelectAll;
end;procedure TMyDBGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
var
CurRowNo, I: Integer;
begin
inherited;
if not (dgMultiSelect in Options) then Exit;
if [ssLeft] = Shift then
begin
if FFirstBookMark <> nil then FreeMem(FFirstBookMark);
if DataSource.DataSet.Active then
begin
FFirstBookMark := DataSource.DataSet.GetBook;
FFirstRowNo := DataSource.DataSet.RecNo - 1;
SelectedRows.CurrentRowSelected := True;
end else
begin
if FFirstBookMark <> nil then FreeMem(FFirstBookMark);
FFirstBookMark := nil;
end;
end else if [ssShift, ssLeft] = Shift then
begin
if DataSource.DataSet.Active then
begin
CurRowNo := DataSource.DataSet.RecNo - 1;
if (FFirstBookMark = nil) then DataSource.DataSet.First
else DataSource.DataSet.GotoBook(FFirstBookMark);
if CurRowNo > FFirstRowNo then
begin
for I := FFirstRowNo to CurRowNo do
begin
SelectedRows.CurrentRowSelected := True;
if I <> CurRowNo then DataSource.DataSet.Next;
end;
end else if CurRowNo < FFirstRowNo then
begin
for I := FFirstRowNo downto CurRowNo do
begin
SelectedRows.CurrentRowSelected := True;
if I <> FFirstRowNo then DataSource.DataSet.Prior;
end;
end;
end else
begin
if FFirstBookMark <> nil then FreeMem(FFirstBookMark);
FFirstBookMark := nil;
end;
end;
end;procedure TMyDBGrid.SelectAll;
begin
if not (dgMultiSelect in Options) then Exit;
if not DataSource.DataSet.Active then Exit;
DataSource.DataSet.First;
while not DataSource.DataSet.Eof do
begin
SelectedRows.CurrentRowSelected := True;
DataSource.DataSet.Next;
end;
end;end.
当然是想用E文的了,嘿嘿
怎么改?在Delphi IDE中输入汉字与控件的字符集有关吗?在Delphi-->Project-->Options-->Version Info中的Language已经选择了Chinese(PRC),没有用的,应该不是这里吧,还有哪里
我以前就是遇到这样的中文问题,你可以粘贴(我是这样搞的^^),
不过这样的话,你把系统考到别人机子上时中文就是乱码
我当时重新安了delphi都不行
除了Delphi IDE中的,别的地方中文输入都是正常的
粘贴是可以的,复制到别的机器上也正常,中文并不乱码
TO:myling(AD)
除了Delphi IDE中的,别的地方中文输入都是正常的
我的也是如此!
到网上看看有没有delphi的中文语言包啥的
Tooles--->Editor properties -->Editor Font 改為新細明體
好像不行吧,我把能调换的字体都调换了一遍,全部都无效
你的方法无效,
我的问题:怎么在不修改这个English(United States)选项的情况下,
在Delphi的文本编辑器中正常输入中文呢?如果把这个选项修改成Chinese(PRC)是可以正常输入中文的,但并不是改你说的那个选项,高级页面的Language for non-Unicode Programs语言已经是Chinese(PRC)了,还是无效很是郁闷的啊
照道理说,日期格式不应该跟中文输入有关系的,郁闷哦你的什么系统啊,这么奇怪,我用英文系统3年多了,都没碰到过你的问题……
你把日期格式选择为英文的试试