我创建了一个包含以下样式的richtextbox
WS_VISIBLE | WS_CHILD | ES_NOHIDESEL | ES_MULTILINE | ES_LEFT | WS_VSCROLL | ES_AUTOVSCROLL
我希望用户无法在其中写入,并且在进入控件时光标不会改变。
我试过
ES_READONLY
属性但是当单击控件时会发出警告噪音并且光标也在变化。
我还试图禁用控件但背景颜色已更改且用户为
不能再使用滚动。
我怎样才能做到这一点。
编辑
我忘了说我已经将控件子类化了,所以我可以接收所有消息
LRESULT CALLBACK RichTextBoxProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwrefData){
switch(message){
case WM_PAINT:
break;
//(...)
default:
return DefSubclassProc(hwnd, message, wParam, lParam);
}
return DefSubclassProc(hwnd, message, wParam, lParam);
}
谢谢。
答案 0 :(得分:0)
尝试:
LRESULT CALLBACK RichTextBoxProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwrefData){
switch(message){
case WM_PAINT:
break;
case WM_LBUTTONDOWN:
SetFocus(mainWindowHandle);
return 0;
case WM_SETCURSOR:
if(LOWORD(lParam) == HTCLIENT ){return 1;}
break;
default:
return DefSubclassProc(hwnd, message, wParam, lParam);
}
return DefSubclassProc(hwnd, message, wParam, lParam);
}
瓦尔特