我正在使用带有 Win32 的 MS Visual C++ 2010 Express 编写记事本程序。我有它的基本设计,但是我希望能够在文本区域旁边显示行号,就像你在大多数文本编辑器中看到的那样(即 notepad++、sublime 等)。我为 textarea 提供的代码是:
hEdit = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", "", WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL, 0, 0, 100, 100, hwnd, ( HMENU )IDC_MAIN_EDIT, GetModuleHandle( NULL ), NULL );
if( hEdit == NULL )
MessageBox( hwnd, "Could not create edit box.", "Error", MB_OK | MB_ICONERROR );
hfDefault = CreateFont( 0, 0, 0, 0, FW_NORMAL, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, TEXT( "Consolas" ) );
SendMessage( hEdit, WM_SETFONT, ( WPARAM )hfDefault, MAKELPARAM( FALSE, 0 ) );