|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。汉字|办理|控件|成绩|心得公司接纳Seskin控件包来开辟。却发明SeskinEdit在利用汉字是有成绩。次要是由汉字光阴标定位禁绝。鼠标选字也选禁绝。
因而看了其代码。发明它在盘算文本长度时接纳的函数TextLength有成绩。
实在TCanvas供应了一个TextLength办法,在往文本长度时汉字没有成绩。
以是把这里交换上去就好了。
交换后的se_controls单位中的TSeCustomEdit的代码以下
TSeCustomEdit=class(TSeCustomControl)
private
FText:WideString;
FLMouseSelecting:boolean;
FCaretPosition:integer;
FSelStart:integer;
FSelLength:integer;
FFirstVisibleChar:integer;
FPopupMenu:TSeCustomPopupMenu;
FAutoSelect:boolean;
FCharCase:TEditCharCase;
FHideSelection:Boolean;
FMaxLength:Integer;
FReadOnly:Boolean;
FOnChange:TNotifyEvent;
FPasswordChar:WideChar;
FPasswordKind:TPasswordKind;
FTextAlignment:TAlignment;
FActionStack:TEditActionStack;
FPopupMenuDropShadow:boolean;
FPopupMenuShowAnimationTime:integer;
FPopupMenuBlendValue:integer;
FPopupMenuShadowWidth:integer;
FPopupMenuShowAnimation:TSeAnimationRec;
FPopupMenuBlend:boolean;
FContextMenuOptions:TSePopupMenuOptions;
procedureUpdateFirstVisibleChar;
procedureUpdateCaretePosition;
procedureUpdateCarete;
procedureWMGetDlgCode(varMsg:TWMGetDlgCode);messageWM_GETDLGCODE;
procedureWMCopy(varMessage:TMessage);messageWM_COPY;
procedureWMPaste(varMessage:TMessage);messageWM_PASTE;
procedureWMCut(varMessage:TMessage);messageWM_CUT;
procedureWMUnDo(varMessage:TMessage);messageWM_UNDO;
procedureWMContexMenu(varMessage:TMessage);messageWM_CONTEXTMENU;
procedureWMLButtonDblClk(varMessage:TWMLButtonDblClk);message
WM_LBUTTONDBLCLK;
{unicode}
procedureWMImeStartComposition(varMessage:TMessage);message
WM_IME_STARTCOMPOSITION;
procedureWMImeComposition(varMsg:TMessage);messageWM_IME_COMPOSITION;
{VCLmessages}
procedureCMEnabledChanged(varMsg:TMessage);messageCM_ENABLEDCHANGED;
procedureCMFontChanged(varMessage:TMessage);messageCM_FONTCHANGED;
procedureCMTextChanged(varMsg:TMessage);messageCM_TEXTCHANGED;
functionGetSelText:WideString;
functionGetVisibleSelText:WideString;
functionGetNextWordBeging(StartPosition:integer):integer;
functionGetPrivWordBeging(StartPosition:integer):integer;
functionGetSelStart:integer;
functionGetSelLength:integer;
functionGetText:WideString;
procedureSetText(constValue:WideString);
procedureSetFont(Value:TFont);
procedureSetCaretPosition(constValue:integer);
procedureSetSelLength(constValue:integer);
procedureSetSelStart(constValue:integer);
procedureSetAutoSelect(constValue:boolean);
procedureSetCharCase(constValue:TEditCharCase);
procedureSetHideSelection(constValue:Boolean);
procedureSetMaxLength(constValue:Integer);
procedureSetPasswordChar(constValue:WideChar);
procedureSetCursor(constValue:TCursor);
procedureSetTextAlignment(constValue:TAlignment);
procedureSetPasswordKind(constValue:TPasswordKind);
procedureSetPopupMenuBlendValue(constValue:integer);
procedureSetPopupMenuDropShadow(constValue:boolean);
procedureSetPopupMenuShadowWidth(constValue:integer);
procedureSetPopupMenuShowAnimation(constValue:TSeAnimationRec);
procedureSetPopupMenuShowAnimationTime(constValue:integer);
procedureSetPopupMenuBlend(constValue:boolean);
procedureSetContextMenuOptions(constValue:TSePopupMenuOptions);
protected
functionGetEditRect:TRect;virtual;
functionGetPasswordCharWidth:integer;virtual;
functionGetCharX(A:integer):integer;
functionGetCoordinatePosition(x:integer):integer;
functionGetSelRect:TRect;virtual;
functionGetAlignmentFlags:integer;
procedurePaintBuffer;override;
procedurePaintText;virtual;
procedurePaintBackground(Rect:TRect;Canvas:TCanvas);virtual;
procedurePaintSelectedText;virtual;
procedureDrawPasswordChar(SymbolRect:TRect;Selected:boolean);virtual;
functionValidText(NewText:WideString):boolean;virtual;
functionCanAutoSize(varNewWidth,NewHeight:Integer):Boolean;override;
procedureBorderChanged;override;
procedureHasFocus;override;
procedureKillFocus;override;
procedureMouseDown(Button:TMouseButton;Shift:TShiftState;x,y:
int</p>ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。 |
|