================ rvDebuggerWindow::HandleCreate Handles the WM_CREATE command ================ */
| 903 | ================ |
| 904 | */ |
| 905 | int rvDebuggerWindow::HandleCreate ( WPARAM wparam, LPARAM lparam ) |
| 906 | { |
| 907 | UINT tabsize = 16; |
| 908 | TEXTMETRIC tm; |
| 909 | HDC dc; |
| 910 | LOGFONT lf; |
| 911 | int i; |
| 912 | |
| 913 | gDebuggerApp.GetOptions().GetWindowPlacement ( "wp_main", mWnd ); |
| 914 | |
| 915 | // Create the main toolbar |
| 916 | CreateToolbar ( ); |
| 917 | |
| 918 | // Create the script window |
| 919 | LoadLibrary ( "Riched20.dll" ); |
| 920 | mWndScript = CreateWindow ( "RichEdit20A", "", WS_CHILD|WS_BORDER|ES_NOHIDESEL|ES_READONLY|ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL|ES_AUTOHSCROLL|WS_VSCROLL|WS_HSCROLL, 0, 0, 100, 100, mWnd, (HMENU) IDC_DBG_SCRIPT, mInstance, 0 ); |
| 921 | SendMessage ( mWndScript, EM_SETEVENTMASK, 0, ENM_SCROLL | ENM_CHANGE | ENM_UPDATE | ENM_SCROLLEVENTS | ENM_REQUESTRESIZE) ; |
| 922 | SendMessage ( mWndScript, EM_SETWORDBREAKPROC, 0, (LPARAM) ScriptWordBreakProc ); |
| 923 | mOldScriptProc = (WNDPROC)GetWindowLongPtr ( mWndScript, GWLP_WNDPROC ); |
| 924 | SetWindowLongPtr ( mWndScript, GWLP_USERDATA, (LONG_PTR)this ); |
| 925 | SetWindowLongPtr ( mWndScript, GWLP_WNDPROC, (LONG_PTR)ScriptWndProc ); |
| 926 | |
| 927 | SendMessage ( mWndScript, EM_SETTABSTOPS, 1, (LPARAM)&tabsize ); |
| 928 | |
| 929 | dc = GetDC ( mWndScript ); |
| 930 | GetTextMetrics ( dc, &tm ); |
| 931 | ZeroMemory ( &lf, sizeof(lf) ); |
| 932 | lf.lfHeight = tm.tmHeight * Win_GetWindowScalingFactor( mWndScript ); |
| 933 | strcpy ( lf.lfFaceName, "Courier New" ); |
| 934 | |
| 935 | SendMessage ( mWndScript, WM_SETFONT, (WPARAM)CreateFontIndirect ( &lf ), 0 ); |
| 936 | SendMessage ( mWndScript, EM_SETMARGINS, EC_LEFTMARGIN|EC_RIGHTMARGIN, MAKELONG( GetMarginWidth(),10) ); |
| 937 | SendMessage ( mWndScript, EM_SETBKGNDCOLOR, 0, GetSysColor ( COLOR_3DFACE ) ); |
| 938 | |
| 939 | mWndOutput = CreateWindow ( "RichEdit20A", "", WS_CHILD|ES_READONLY|ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL|ES_AUTOHSCROLL|WS_VSCROLL|WS_HSCROLL|WS_VISIBLE, 0, 0, 100, 100, mWnd, (HMENU) IDC_DBG_OUTPUT, mInstance, 0 ); |
| 940 | SendMessage ( mWndOutput, WM_SETFONT, (WPARAM)CreateFontIndirect ( &lf ), 0 ); |
| 941 | SendMessage ( mWndOutput, EM_SETMARGINS, EC_LEFTMARGIN|EC_RIGHTMARGIN, MAKELONG(18,10) ); |
| 942 | SendMessage ( mWndOutput, EM_SETBKGNDCOLOR, 0, GetSysColor ( COLOR_3DFACE ) ); |
| 943 | SendMessage ( mWndOutput, EM_SETEVENTMASK, 0, ENM_SCROLL | ENM_CHANGE | ENM_UPDATE | ENM_SCROLLEVENTS); |
| 944 | |
| 945 | mWndConsole = CreateWindow ( "RichEdit20A", "", WS_CHILD|ES_READONLY|ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL|ES_AUTOHSCROLL|WS_VSCROLL|WS_HSCROLL, 0, 0, 100, 100, mWnd, (HMENU) IDC_DBG_CONSOLE, mInstance, 0 ); |
| 946 | SendMessage ( mWndConsole, WM_SETFONT, (WPARAM)CreateFontIndirect ( &lf ), 0 ); |
| 947 | SendMessage ( mWndConsole, EM_SETMARGINS, EC_LEFTMARGIN|EC_RIGHTMARGIN, MAKELONG(18,10) ); |
| 948 | SendMessage ( mWndConsole, EM_SETBKGNDCOLOR, 0, GetSysColor ( COLOR_3DFACE ) ); |
| 949 | |
| 950 | mWndConsoleInput = CreateWindow( "RichEdit20A", "", WS_CHILD | ES_WANTRETURN | ES_AUTOVSCROLL | WS_VSCROLL | WS_BORDER, 0, 0, 100, 18, mWnd, ( HMENU ) IDC_DBG_CONSOLEINPUT, mInstance, 0 ); |
| 951 | lf.lfHeight = -MulDiv( 8, GetDeviceCaps( dc, LOGPIXELSY ), 72 ); |
| 952 | strcpy( lf.lfFaceName, "Arial" ); |
| 953 | SendMessage( mWndConsoleInput, WM_SETFONT, ( WPARAM ) CreateFontIndirect( &lf ), 0 ); |
| 954 | SendMessage( mWndConsoleInput, EM_SETMARGINS, EC_LEFTMARGIN | EC_RIGHTMARGIN, MAKELONG( 18, 10 ) ); |
| 955 | |
| 956 | mWndMargin = CreateWindow ( "STATIC", "", WS_VISIBLE|WS_CHILD, 0, 0, 0, 0, mWndScript, (HMENU)IDC_DBG_SPLITTER, mInstance, NULL ); |
| 957 | SetWindowLongPtr ( mWndMargin, GWLP_USERDATA, (LONG_PTR)this ); |
| 958 | SetWindowLongPtr ( mWndMargin, GWLP_WNDPROC, (LONG_PTR)MarginWndProc ); |
| 959 | |
| 960 | mWndBorder = CreateWindow ( "STATIC", "", WS_VISIBLE|WS_CHILD|SS_GRAYFRAME, 0, 0, 0, 0, mWnd, (HMENU)IDC_DBG_BORDER, mInstance, NULL ); |
| 961 | |
| 962 | GetClientRect ( mWnd, &mSplitterRect ); |
no test coverage detected