|
选择富编辑框的文字内容,按删除键程序崩溃!
RichEdit有BUG, 设置成只读状态还可以按DELETE键删除内容,如果选择多行连续按DELETE键的话,在删除光标所在行的所有字符后程序会崩溃!
BOOL CALLBACK RichEdit_OnEventKeyDown(HELE hEle,HELE hEventEle,WPARAM wParam,LPARAM lParam)
中,将:
case VK_DELETE: //Delete
RichEdit_CharDeleteKey(hEle);
改为:
case VK_DELETE: //Delete
if (((richEdit_*)hEle)->bDrawSelect)
RichEdit_DeleteSelect(hEle);
else
RichEdit_CharDeleteKey(hEle);
第二步:
在下面两个函数的末尾,各添加一句:XEle_RedrawEle(hEle);
BOOL RichEdit_DeleteSelectSingleLine(HELE hEle)
{
.....
XEle_RedrawEle(hEle);
return TRUE;
}
BOOL RichEdit_DeleteSelectMultiLine(HELE hEle,int beginRow,int beginColumn,int endRow,int endColumn,BOOL bForward)
{
......
XEle_RedrawEle(hEle);
return TRUE;
}
|
|