向hellovfp大哥及各位论坛大牛请教关于windows编程记事本的问题
最近磕磕绊绊在VS2010下搞了个简单的记事本 参照书上弄的 水平很有限 很多功能都没搞定 想逐个搞清楚原理并陆续加上去先发下运行文件 (刚传了一次源码 等了半天没提交 结果一脚踢到电源线 关机了 MGD)
NotepadOne.zip
(47.42 KB)
先问一个问题
下面是WM_CREATE的代码
程序代码:
case WM_CREATE: { hInst = ((LPCREATESTRUCT)lParam)->hInstance; HWND hWndButton = CreateWindow(L"Edit", NULL, WS_CHILD | WS_VISIBLE | ES_WANTRETURN | ES_RIGHT , 220, 60, 50, 18, hWnd, (HMENU)ID_EDIT, hInst, NULL); // Create the edit control child window GetWindowText(hWndButton, szPassword, sizeof(szPassword)); if (/*lstrcmp(szPassword, L"123") == 0*/1) { hWndEdit = CreateWindow(L"Edit", NULL, WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | WS_BORDER | ES_LEFT |ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_NOHIDESEL, 0, 0, 0, 0, hWnd, (HMENU)ID_EDIT, hInst, NULL); SendMessage(hWndEdit, EM_LIMITTEXT, 0, 0L); //MoveWindow(hWndEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE); FileInitialize(hWnd); messageFindReplace = RegisterWindowMessage(FINDMSGSTRING); DoCaption(hWnd, szTitleName); } return 0; }我的目的是 先在父窗口里创建一个EDIT控件 用了输入密码的 然后用 GetWindowText(hWndButton, szPassword, sizeof(szPassword));获取输入的字符串 如果这个获取的字符串和要求的密码一样就再创建记事本界面 但是当我在这个编辑框里输入正确的密码后调用GetWindowText后 没有任何反应 难道GetWindowText读取不了这个控件句柄的内容?
查了下 网上说如果用ES_PASSWORD 格式还要复杂些 所以省去了 貌似和WM_GETTEXT有关联 但不知怎么弄.
[ 本帖最后由 有容就大 于 2012-4-25 14:31 编辑 ]